Odroid XU4 - CPU issue?

Hi there,

I use a fresh installation of DietPi on my XU4. Installations process and configuraton was fine and everything works. :smiley:

But there is always a but, when you are posting in the Troubleshooting section :wink:

The XU4 was getting very hot after 1 day of uptime - up to 125 Degress C. So I looked into htop to see if any process is causing this. But there wasn’t any process using more CPU as 3-5%. The command cpu showed me othwerwise that the cores 5 to 8 were running on full speed (2GHz) where as the other 4 were on 200 Mhz.

So I used the Performance Options in dietpi-config to limit the CPU to 1Ghz. After that and a restart of the system the XU4 is fine again. Running on 50 to 53 Degress.

I already tried another distro (Armbian) to see if the issue is hardware related. But it isn’t. Under Armbian the CPU wasn’t heating up.

Does anybody has a clue what causes the anormal heat when I don’t limit the cpu frequence? Please let me know if any logs or other information are needed.

Thx again for your help and time.

Michael

Hi Michael,

Strange, not something we seen before on the XU4. We know it runs hot (I underclock mine to 1.4GHz), but only under full load.

Something is clearly causing the 4x2GHz cores to enter full load state.

Lets try a few things, when the issue occurs:

  • Check dmesg for any issues related to cpu: dmesg | grep cpu
  • Check process list (includes kernel jobs) for CPU usage (this is a big one): ps aux

Also, try:

  • Ondemand CPU gov

Hi Fourdee,

thx for you reply.

I disabled the limitation of the cpu and rebooted the system.

I made several sceenshots of comands cpu and htop. As you can see the temperature is in the expected range, but cpu says that the CPU 5-8 are almost always on high load - even there is no cpu usage when you look at htop.

I also attached the output of ps aux and dmesg (it’s a text file that will be downloaded from my server due to the limitation of the forum software I wasn’t able to upload the text file):
https://wc.virse.de/bozon/index.php?f=15892435e0686f

Thx again for your time and help.
Michael


02-after 5min htop.jpg
02-after 5min cpu.jpg
01-after reboot.jpg

Since I upgraded to v143 my XU4 often goes up to 90+C with nothing obvious in htop to explain it.

It cools again very quickly. I’ll keep an eye on this.

John

Hi johnvick,

what seems a little bit odd to me is the fact that the CPUs 5-8 always running with full load.

Shouldn’t the cpu governor throttle the cpus due to the fact that the system don’t need the full power of the cpus? :question:

Michael

Hi Guys,

Thanks for the report Michael, appreciate it.

Lets check time @ frequency steps. Can you please paste results of the following:

root@DietPi:~# uptime
 20:05:30 up 3 days,  3:59,  3 users,  load average: 0.32, 0.18, 0.15

root@DietPi:~# cat /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state
1400000 585003
1300000 290
1200000 379
1100000 320
1000000 363
900000 301
800000 359
700000 920
600000 1321
500000 5153
400000 10391
300000 193905
200000 26560633

Also Michael, please can try the β€œondemand” CPU gov and let us know if this reduces CPU scaling/heat.

Interactive does have a tendency to instantly boost to full clocks on even minimal load (due to the 200mhz lower clocks, usage sampling at those frequencies are much higher than whats probably needed). Ondemand is a bit more β€œlabored” and scales more gently.

Hi Fourdee,

thanks your your reply.

As requested:

root@dietpiserver:~# uptime
 08:53:17 up 2 days, 13:56,  1 user,  load average: 0,02, 0,02, 0,05
root@dietpiserver:~# cat /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state
1400000 136678
1300000 9
1200000 39
1100000 54
1000000 85
900000 84
800000 90
700000 117
600000 238
500000 317
400000 1039
300000 10301
200000 22153277

Hope that helps. I’ll give also the β€œondemand” CPU gov a try and let you know.

I appreciate your help a lot! :stuck_out_tongue:

Michael

Hi Fourdee,

so after 3 and a half hour with β€œondemand” CPU gov I get these temperature and frequency steps:

After 5 min:
root@dietpiserver:~# uptime
 09:07:04 up 2 days, 14:10,  1 user,  load average: 0,08, 0,06, 0,06
root@dietpiserver:~# cat /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state
1400000 138620
1300000 9
1200000 54
1100000 84
1000000 107
900000 107
800000 132
700000 176
600000 327
500000 448
400000 1221
300000 10561
200000 22231970


After 45 min:
root@dietpiserver:~# uptime
 09:45:40 up 2 days, 14:49,  1 user,  load average: 0,05, 0,03, 0,05
root@dietpiserver:~# cat /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state
1400000 145710
1300000 9
1200000 76
1100000 99
1000000 137
900000 129
800000 192
700000 264
600000 459
500000 633
400000 1515
300000 11245
200000 22455096


After 3 and a half hour:
oot@dietpiserver:~# uptime
 12:21:57 up 2 days, 17:25,  1 user,  load average: 0,00, 0,01, 0,05
root@dietpiserver:~# cat /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state
1400000 184467
1300000 9
1200000 140
1100000 165
1000000 236
900000 257
800000 329
700000 555
600000 904
500000 1162
400000 2737
300000 14151
200000 23348083

Is this helpful?

Michael
04-after 3andhalf hour.jpg
03-after 45min.jpg
02-after 5min.jpg
01-after ondemand change.jpg

Hi Michael,

Yes, many thanks.

Ok so these results are for the 1.4GHz cores (0-3). They look fine as most of the time spent is at 200MHz.

Ideally, we need to get the results of the 2.0GHz cores (the culprits in this case). Could you run the device for an hour (ish), then paste results of the following please?

PS. I cap mine at 1.5GHz, your results should be different.

root@DietPi:~# cat /sys/devices/system/cpu/cpu4/cpufreq/stats/time_in_state
2000000 484
1900000 0
1800000 0
1700000 0
1600000 0
1500000 12597938
1400000 3326
1300000 4305
1200000 22786
1100000 31796
1000000 19223
900000 26953
800000 60433
700000 40599
600000 39531
500000 66429
400000 32450
300000 50258
200000 20402939

Also, lets grab the up threshold, should be 50%:

cat /sys/devices/system/cpu/cpu4/cpufreq/ondemand/up_threshold

This can be changed in dietpi-config > performance > CPU Throttle Up.
A value of 90% should reduce overall CPU scaling up, may be worth testing another hour with this setting.

Hi Fourdee,

here we go :slight_smile:

0 min 14.30
root@dietpiserver:~# cat /sys/devices/system/cpu/cpu4/cpufreq/stats/time_in_state
2000000 472090
1900000 3298
1800000 2384
1700000 4265
1600000 15554
1500000 8660
1400000 2755
1300000 3694
1200000 5557
1100000 5018
1000000 5826
900000 10223
800000 5771
700000 4568
600000 2570
500000 3037
400000 2602
300000 3266
200000 23746471

cat /sys/devices/system/cpu/cpu4/cpufreq/ondemand/up_threshold
95


After 30min
root@dietpiserver:~# cat /sys/devices/system/cpu/cpu4/cpufreq/stats/time_in_state2000000 473580
1900000 3775
1800000 2459
1700000 4745
1600000 19347
1500000 9900
1400000 3800
1300000 7668
1200000 6149
1100000 5270
1000000 6360
900000 10333
800000 5781
700000 4724
600000 3080
500000 3642
400000 2678
300000 3849
200000 23914640
root@dietpiserver:~# cat /sys/devices/system/cpu/cpu4/cpufreq/ondemand/up_threshold
95


AFter 90 min
root@dietpiserver:~# cat /sys/devices/system/cpu/cpu4/cpufreq/stats/time_in_state2000000 476470
1900000 4266
1800000 3172
1700000 5854
1600000 23432
1500000 11735
1400000 4238
1300000 8642
1200000 7063
1100000 6252
1000000 7139
900000 10910
800000 5781
700000 4861
600000 3215
500000 3652
400000 2738
300000 4003
200000 24215164
root@dietpiserver:~# cat /sys/devices/system/cpu/cpu4/cpufreq/ondemand/up_threshold
95

Michael

Hi Michael,

Thanks. Time spent at idle and full load seems reasonable.

I think the majority of usage is from /usr/sbin/smbd (Samba server). Samba can be CPU intensive, try copying a file to (or from) the server and check cpu frequency with:

echo -e $(( $(cat /sys/devices/system/cpu/cpu4/cpufreq/scaling_cur_freq) / 1000 ))

Might be an idea to check temp now and then (as above command may trigger a frequency up step) with:

cpu

You could also rerun this test for 30 minutes and see if the time spent in idle improves, after disabling one service at a time:
Disable samba:

systemctl stop smbd
systemctl stop nmbd

Disable dnsmasq:

systemctl stop dnsmasq

Ho Fourdee,

I copied a large file (1,4GB) to the samba-server. The results of cpu were this:

root@dietpiserver:~# echo -e $(( $(cat /sys/devices/system/cpu/cpu4/cpufreq/scaling_cur_freq) / 1000 ))
1000
root@dietpiserver:~# cpu

 ─────────────────────────────────────────────────────
 DietPi CPU Info
 Use dietpi-config to change CPU / performance options
 ─────────────────────────────────────────────────────
 Architecture |     armv7l
 Temp         |     59'c | Running warm, but safe.
 Governor     |     ondemand
 Throttle up  |     85% CPU usage

                 Current Freq    Min Freq   Max Freq
 CPU0         |      600 MHz      200 MHz    1400 MHz
 CPU1         |      800 MHz      200 MHz    1400 MHz
 CPU2         |      800 MHz      200 MHz    1400 MHz
 CPU3         |      700 MHz      200 MHz    1400 MHz
 CPU4         |      1100 MHz      200 MHz    2000 MHz
 CPU5         |      1100 MHz      200 MHz    2000 MHz
 CPU6         |      1000 MHz      200 MHz    2000 MHz
 CPU7         |      1000 MHz      200 MHz    2000 MHz

root@dietpiserver:~# cpu

 ─────────────────────────────────────────────────────
 DietPi CPU Info
 Use dietpi-config to change CPU / performance options
 ─────────────────────────────────────────────────────
 Architecture |     armv7l
 Temp         |     60'c | Running hot, not recommended.
 Governor     |     ondemand
 Throttle up  |     85% CPU usage

                 Current Freq    Min Freq   Max Freq
 CPU0         |      700 MHz      200 MHz    1400 MHz
 CPU1         |      700 MHz      200 MHz    1400 MHz
 CPU2         |      700 MHz      200 MHz    1400 MHz
 CPU3         |      700 MHz      200 MHz    1400 MHz
 CPU4         |      1200 MHz      200 MHz    2000 MHz
 CPU5         |      1200 MHz      200 MHz    2000 MHz
 CPU6         |      1200 MHz      200 MHz    2000 MHz
 CPU7         |      1200 MHz      200 MHz    2000 MHz

root@dietpiserver:~# cpu

 ─────────────────────────────────────────────────────
 DietPi CPU Info
 Use dietpi-config to change CPU / performance options
 ─────────────────────────────────────────────────────
 Architecture |     armv7l
 Temp         |     59'c | Running warm, but safe.
 Governor     |     ondemand
 Throttle up  |     85% CPU usage

                 Current Freq    Min Freq   Max Freq
 CPU0         |      600 MHz      200 MHz    1400 MHz
 CPU1         |      600 MHz      200 MHz    1400 MHz
 CPU2         |      800 MHz      200 MHz    1400 MHz
 CPU3         |      600 MHz      200 MHz    1400 MHz
 CPU4         |      1000 MHz      200 MHz    2000 MHz
 CPU5         |      1000 MHz      200 MHz    2000 MHz
 CPU6         |      1000 MHz      200 MHz    2000 MHz
 CPU7         |      1000 MHz      200 MHz    2000 MHz

root@dietpiserver:~# 
root@dietpiserver:~# cpu

 ─────────────────────────────────────────────────────
 DietPi CPU Info
 Use dietpi-config to change CPU / performance options
 ─────────────────────────────────────────────────────
 Architecture |     armv7l
 Temp         |     60'c | Running hot, not recommended.
 Governor     |     ondemand
 Throttle up  |     85% CPU usage

                 Current Freq    Min Freq   Max Freq
 CPU0         |      1400 MHz      200 MHz    1400 MHz
 CPU1         |      1400 MHz      200 MHz    1400 MHz
 CPU2         |      1400 MHz      200 MHz    1400 MHz
 CPU3         |      1400 MHz      200 MHz    1400 MHz
 CPU4         |      1000 MHz      200 MHz    2000 MHz
 CPU5         |      1100 MHz      200 MHz    2000 MHz
 CPU6         |      1100 MHz      200 MHz    2000 MHz
 CPU7         |      1100 MHz      200 MHz    2000 MHz

root@dietpiserver:~# cpu

 ─────────────────────────────────────────────────────
 DietPi CPU Info
 Use dietpi-config to change CPU / performance options
 ─────────────────────────────────────────────────────
 Architecture |     armv7l
 Temp         |     59'c | Running warm, but safe.
 Governor     |     ondemand
 Throttle up  |     85% CPU usage

                 Current Freq    Min Freq   Max Freq
 CPU0         |      700 MHz      200 MHz    1400 MHz
 CPU1         |      700 MHz      200 MHz    1400 MHz
 CPU2         |      700 MHz      200 MHz    1400 MHz
 CPU3         |      700 MHz      200 MHz    1400 MHz
 CPU4         |      1000 MHz      200 MHz    2000 MHz
 CPU5         |      1000 MHz      200 MHz    2000 MHz
 CPU6         |      1000 MHz      200 MHz    2000 MHz
 CPU7         |      900 MHz      200 MHz    2000 MHz

root@dietpiserver:~# cpu

 ─────────────────────────────────────────────────────
 DietPi CPU Info
 Use dietpi-config to change CPU / performance options
 ─────────────────────────────────────────────────────
 Architecture |     armv7l
 Temp         |     59'c | Running warm, but safe.
 Governor     |     ondemand
 Throttle up  |     85% CPU usage

                 Current Freq    Min Freq   Max Freq
 CPU0         |      400 MHz      200 MHz    1400 MHz
 CPU1         |      700 MHz      200 MHz    1400 MHz
 CPU2         |      600 MHz      200 MHz    1400 MHz
 CPU3         |      600 MHz      200 MHz    1400 MHz
 CPU4         |      1200 MHz      200 MHz    2000 MHz
 CPU5         |      1200 MHz      200 MHz    2000 MHz
 CPU6         |      500 MHz      200 MHz    2000 MHz
 CPU7         |      500 MHz      200 MHz    2000 MHz

root@dietpiserver:~# cpu

 ─────────────────────────────────────────────────────
 DietPi CPU Info
 Use dietpi-config to change CPU / performance options
 ─────────────────────────────────────────────────────
 Architecture |     armv7l
 Temp         |     59'c | Running warm, but safe.
 Governor     |     ondemand
 Throttle up  |     85% CPU usage

                 Current Freq    Min Freq   Max Freq
 CPU0         |      1400 MHz      200 MHz    1400 MHz
 CPU1         |      1400 MHz      200 MHz    1400 MHz
 CPU2         |      1400 MHz      200 MHz    1400 MHz
 CPU3         |      1400 MHz      200 MHz    1400 MHz
 CPU4         |      900 MHz      200 MHz    2000 MHz
 CPU5         |      900 MHz      200 MHz    2000 MHz
 CPU6         |      900 MHz      200 MHz    2000 MHz
 CPU7         |      1100 MHz      200 MHz    2000 MHz

root@dietpiserver:~# cpu

 ─────────────────────────────────────────────────────
 DietPi CPU Info
 Use dietpi-config to change CPU / performance options
 ─────────────────────────────────────────────────────
 Architecture |     armv7l
 Temp         |     60'c | Running hot, not recommended.
 Governor     |     ondemand
 Throttle up  |     85% CPU usage

                 Current Freq    Min Freq   Max Freq
 CPU0         |      700 MHz      200 MHz    1400 MHz
 CPU1         |      700 MHz      200 MHz    1400 MHz
 CPU2         |      700 MHz      200 MHz    1400 MHz
 CPU3         |      700 MHz      200 MHz    1400 MHz
 CPU4         |      1200 MHz      200 MHz    2000 MHz
 CPU5         |      1200 MHz      200 MHz    2000 MHz
 CPU6         |      1200 MHz      200 MHz    2000 MHz
 CPU7         |      1200 MHz      200 MHz    2000 MHz

root@dietpiserver:~# cpu

 ─────────────────────────────────────────────────────
 DietPi CPU Info
 Use dietpi-config to change CPU / performance options
 ─────────────────────────────────────────────────────
 Architecture |     armv7l
 Temp         |     60'c | Running hot, not recommended.
 Governor     |     ondemand
 Throttle up  |     85% CPU usage

                 Current Freq    Min Freq   Max Freq
 CPU0         |      700 MHz      200 MHz    1400 MHz
 CPU1         |      700 MHz      200 MHz    1400 MHz
 CPU2         |      700 MHz      200 MHz    1400 MHz
 CPU3         |      700 MHz      200 MHz    1400 MHz
 CPU4         |      1300 MHz      200 MHz    2000 MHz
 CPU5         |      1300 MHz      200 MHz    2000 MHz
 CPU6         |      1300 MHz      200 MHz    2000 MHz
 CPU7         |      1300 MHz      200 MHz    2000 MHz

root@dietpiserver:~# cpu

 ─────────────────────────────────────────────────────
 DietPi CPU Info
 Use dietpi-config to change CPU / performance options
 ─────────────────────────────────────────────────────
 Architecture |     armv7l
 Temp         |     60'c | Running hot, not recommended.
 Governor     |     ondemand
 Throttle up  |     85% CPU usage

                 Current Freq    Min Freq   Max Freq
 CPU0         |      700 MHz      200 MHz    1400 MHz
 CPU1         |      700 MHz      200 MHz    1400 MHz
 CPU2         |      700 MHz      200 MHz    1400 MHz
 CPU3         |      700 MHz      200 MHz    1400 MHz
 CPU4         |      1200 MHz      200 MHz    2000 MHz
 CPU5         |      1200 MHz      200 MHz    2000 MHz
 CPU6         |      1200 MHz      200 MHz    2000 MHz
 CPU7         |      1200 MHz      200 MHz    2000 MHz

root@dietpiserver:~# cpu

 ─────────────────────────────────────────────────────
 DietPi CPU Info
 Use dietpi-config to change CPU / performance options
 ─────────────────────────────────────────────────────
 Architecture |     armv7l
 Temp         |     60'c | Running hot, not recommended.
 Governor     |     ondemand
 Throttle up  |     85% CPU usage

                 Current Freq    Min Freq   Max Freq
 CPU0         |      700 MHz      200 MHz    1400 MHz
 CPU1         |      700 MHz      200 MHz    1400 MHz
 CPU2         |      700 MHz      200 MHz    1400 MHz
 CPU3         |      700 MHz      200 MHz    1400 MHz
 CPU4         |      1000 MHz      200 MHz    2000 MHz
 CPU5         |      1100 MHz      200 MHz    2000 MHz
 CPU6         |      1100 MHz      200 MHz    2000 MHz
 CPU7         |      1100 MHz      200 MHz    2000 MHz

root@dietpiserver:~# cpu

 ─────────────────────────────────────────────────────
 DietPi CPU Info
 Use dietpi-config to change CPU / performance options
 ─────────────────────────────────────────────────────
 Architecture |     armv7l
 Temp         |     60'c | Running hot, not recommended.
 Governor     |     ondemand
 Throttle up  |     85% CPU usage

                 Current Freq    Min Freq   Max Freq
 CPU0         |      700 MHz      200 MHz    1400 MHz
 CPU1         |      700 MHz      200 MHz    1400 MHz
 CPU2         |      700 MHz      200 MHz    1400 MHz
 CPU3         |      800 MHz      200 MHz    1400 MHz
 CPU4         |      1100 MHz      200 MHz    2000 MHz
 CPU5         |      1100 MHz      200 MHz    2000 MHz
 CPU6         |      1000 MHz      200 MHz    2000 MHz
 CPU7         |      1000 MHz      200 MHz    2000 MHz
─────────────────────────────────────────────────────
 DietPi CPU Info
 Use dietpi-config to change CPU / performance options
 ─────────────────────────────────────────────────────
 Architecture |     armv7l
 Temp         |     60'c | Running hot, not recommended.
 Governor     |     ondemand
 Throttle up  |     85% CPU usage

                 Current Freq    Min Freq   Max Freq
 CPU0         |      700 MHz      200 MHz    1400 MHz
 CPU1         |      700 MHz      200 MHz    1400 MHz
 CPU2         |      700 MHz      200 MHz    1400 MHz
 CPU3         |      700 MHz      200 MHz    1400 MHz
 CPU4         |      1000 MHz      200 MHz    2000 MHz
 CPU5         |      1000 MHz      200 MHz    2000 MHz
 CPU6         |      1000 MHz      200 MHz    2000 MHz
 CPU7         |      1000 MHz      200 MHz    2000 MHz

root@dietpiserver:~# cpu

 ─────────────────────────────────────────────────────
 DietPi CPU Info
 Use dietpi-config to change CPU / performance options
 ─────────────────────────────────────────────────────
 Architecture |     armv7l
 Temp         |     61'c | Running hot, not recommended.
 Governor     |     ondemand
 Throttle up  |     85% CPU usage

                 Current Freq    Min Freq   Max Freq
 CPU0         |      700 MHz      200 MHz    1400 MHz
 CPU1         |      700 MHz      200 MHz    1400 MHz
 CPU2         |      600 MHz      200 MHz    1400 MHz
 CPU3         |      600 MHz      200 MHz    1400 MHz
 CPU4         |      1000 MHz      200 MHz    2000 MHz
 CPU5         |      1300 MHz      200 MHz    2000 MHz
 CPU6         |      1300 MHz      200 MHz    2000 MHz
 CPU7         |      1300 MHz      200 MHz    2000 MHz

root@dietpiserver:~# cpu

 ─────────────────────────────────────────────────────
 DietPi CPU Info
 Use dietpi-config to change CPU / performance options
 ─────────────────────────────────────────────────────
 Architecture |     armv7l
 Temp         |     61'c | Running hot, not recommended.
 Governor     |     ondemand
 Throttle up  |     85% CPU usage

                 Current Freq    Min Freq   Max Freq
 CPU0         |      800 MHz      200 MHz    1400 MHz
 CPU1         |      800 MHz      200 MHz    1400 MHz
 CPU2         |      600 MHz      200 MHz    1400 MHz
 CPU3         |      700 MHz      200 MHz    1400 MHz
 CPU4         |      900 MHz      200 MHz    2000 MHz
 CPU5         |      900 MHz      200 MHz    2000 MHz
 CPU6         |      900 MHz      200 MHz    2000 MHz
 CPU7         |      900 MHz      200 MHz    2000 MHz

root@dietpiserver:~# cpu

 ─────────────────────────────────────────────────────
 DietPi CPU Info
 Use dietpi-config to change CPU / performance options
 ─────────────────────────────────────────────────────
 Architecture |     armv7l
 Temp         |     61'c | Running hot, not recommended.
 Governor     |     ondemand
 Throttle up  |     85% CPU usage

                 Current Freq    Min Freq   Max Freq
 CPU0         |      800 MHz      200 MHz    1400 MHz
 CPU1         |      700 MHz      200 MHz    1400 MHz
 CPU2         |      700 MHz      200 MHz    1400 MHz
 CPU3         |      700 MHz      200 MHz    1400 MHz
 CPU4         |      1100 MHz      200 MHz    2000 MHz
 CPU5         |      1100 MHz      200 MHz    2000 MHz
 CPU6         |      1100 MHz      200 MHz    2000 MHz
 CPU7         |      1100 MHz      200 MHz    2000 MHz

root@dietpiserver:~# cpu

 ─────────────────────────────────────────────────────
 DietPi CPU Info
 Use dietpi-config to change CPU / performance options
 ─────────────────────────────────────────────────────
 Architecture |     armv7l
 Temp         |     61'c | Running hot, not recommended.
 Governor     |     ondemand
 Throttle up  |     85% CPU usage

                 Current Freq    Min Freq   Max Freq
 CPU0         |      1400 MHz      200 MHz    1400 MHz
 CPU1         |      1400 MHz      200 MHz    1400 MHz
 CPU2         |      1400 MHz      200 MHz    1400 MHz
 CPU3         |      1400 MHz      200 MHz    1400 MHz
 CPU4         |      1100 MHz      200 MHz    2000 MHz
 CPU5         |      1100 MHz      200 MHz    2000 MHz
 CPU6         |      1100 MHz      200 MHz    2000 MHz
 CPU7         |      1100 MHz      200 MHz    2000 MHz

As you can see there were all kind of states presents. Maybe i stick with the ondemandgov and throttle all the cpus to 1400Mhz?

Thx again, Michael

Hi Michael,

Thanks, yep, I believe its just a case of background services peaking CPU load. As the XU4 runs really hot, even at low loads, I think that may be the sudden rise in temps.

The CPU time in your ps aux post seems fine, nothing out of the ordinary that would indicate a program/process constantly using CPU.

It only takes around 2 seconds to reach 90’c+ at full load on this device. Capping the frequencies is recommended, I cap mine at 1.5GHz, seems to stay under 70’c.
Another option is heatsink upgrade, or, pop it in the freezer :wink: lol

Hi Fourdee,

thx again.

Yep, I will stay with 1,5GHz as well. Until now the device is under 60 Degress. I’m fine with that :wink:

Michael

BTW: Just sad that the XU4 is the only device with a good CPU and USB3. Maybe in th near future someone like FriendlyArm build one also with USB3 and a β€œbetter” CPU.

Hi, sorry to necro this post but I was running into this exact issue on the odroid xu4 as well and I feel like the previous troubleshooting while helpful did not really answer the original question of why the CPU scaling didn’t seem to be working as expected.

For me, The solution was to

  1. set the max clock freq to 1800
  2. change the governor to schedutil

now CPU scaling is working as expected and all cores idle at 200 Mhz
odroid-xu4-dietpi-cpu.PNG

thx for sharing :slight_smile: