Jump to content
  • 0

rock64 freezes under high CPU load






After installing Armbian_20.02.1_Rock64_buster_current_5.4.20.7z on my 4GB rock64 running on SD card

- I could run for days 2 processes with "openssl speed" resulting in 2 CPU's 100% busy.

- But when I added a third "openssl speed" it only takes minutes to freeze the board.

- Further the "ondemand" scaling_governor is active (default setting)


I noticed that distributed /etc/default/cpufrequtils contains line:

==> MAX_SPEED=1390000

This value is not in the list with valid values for this CPU :

==> 408000 600000 816000 1008000 1200000 1296000 1512000

After updating this to valid value and restart service cpufrequtils:

==> sed -i "s/MAX_SPEED=.*/MAX_SPEED=1296000/" /etc/default/cpufrequtils service cpufrequtils restart

The rock64 is now already a few hours running happily 100% CPU on all 4 its core's at appr 80C.


It even runs happy now with 4 CPU's 100% with MAX_SPEED=1512000 for nearly an hour, throttling down to 1.3 or 1.2GHz at appr 84C


- Can this be reproduced by some one else using the default distribution with 4x100% CPU usage?

- Can it be that I have an old level rock64 board (I bought it appr 2 years back) that is causing this issue?

- Is it possible that the CPU / kernel freezes because of an incorrect MAX_SPEED value?


ref: Linux rock64 5.4.27-rockchip64 #20.02.6 SMP PREEMPT Tue Mar 24 23:43:02 CET 2020 aarch64 GNU/Linux


regards Eric


Experimenting with armbian in these worrying times.

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

First off I have to Thank You!

I was having the same issue and you pointed me in the right direction.


I'm running Armbian 20.11.6 Buster off the SD Card on my 4GB RockPro64.

My system froze when starting CPU intensive tasks. For example trying to transcode a 4K Movie with Plex while using RDP to move files around.


However the MAX_SPEED value in /etc/default/cpufrequtils was 0.

So I guess it just tried to go as high as it could (or as high as the available values in /sys/devices/system/cpu/cpu{0,1,2,3}/cpufreq/scaling_available_frequencies based on this thread).


I now changed the MAX_SPEED value from 0 to 1512000 and I have not experienced crashes or freezes since then (only a few hours).


But now to my question.

According to the Rockchip RK3399 Datasheet (chapter 3.2, page 65) there are actually two different CPUs inside the RK3399. Cortex A53 (max 1.4 GHz) & Cortex A72 (max 1.8 GHz).

This is confirmed by running cpufreq-info which returns different "available frequency steps" for the CPUs 0-3 and 4-5.


By setting MAX_SPEED to 1512000 did I actually overclock the Cortex A53 and "underclock" the Cortex A72 aka prevent it from using its whole potential?


Does anybody or even you, ekkotron, know how I can set the maximum CPU frequency differently for the respective CPUs?

Or could I just change the values in /sys/devices/system/cpu/cpu{0,1,2,3}/cpufreq/scaling_available_frequencies according to the datasheet and set the MAX_SPEED in /etc/default/cpufrequtils back to 0 in order to prevent the CPU frequency from going to high?


I hope someone can give me some pointers. I'm fairly new to Linux so please correct me if I'm getting something wrong.

Thanks in advance! This forum helped me quite a bit so far.

Link to comment
Share on other sites

Open source development is fun. Join Armbian Linux development team today!

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Answer this question...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Create New...