Jump to content

h3consumption recover 4 cores on opi0 not working bullet-proof


peter12

Recommended Posts

Hi there, 

I have problem with recovering "sudo h3consumption -m 1200 -c 4" on Orange Pi Zero, where it activates just 2 cores. No idea why. When I used "sudo h3consumption -m 900 -c 1" it worked fine, but now, when I am trying to recover all 4 cores it activates just 2 cores.
Which files h3consumption changes? (so I will be able to backup them with clean install and the restore them once needed to recover settings for all 4 cores).

 

And I found out, that with "sudo armbianmonitor -m" it shows CPU changes 900Mhz, 1018Mhz (dont remember exact values) but now it just shows 480

 

P.S. I made backups of these files:
sudo cp /etc/backup_2017_05_21_rc.local /etc/rc.local
sudo cp /boot/backup_2017_05_21_bin_orangepizero.bin /boot/bin/orangepizero.bin
sudo cp /boot/backup_2017_05_21_bin_orangepizero.bin /boot/script.bin

 

UPDATE: after few restarts and combination of 

echo 1 >/sys/devices/system/cpu/cpu2/online;
echo 1 >/sys/devices/system/cpu/cpu3/online; in rc.local now 4 cores work again. Strange behaviour.

Link to comment
Share on other sites

Hi Peter12,

 

I have a NanopiNeo and experienced the same problem.

 

I changed the h3consumption script.

Somwhere in the script in states:

 

Old:

        # Active CPU cores
        case ${CPUCores} in
                ""|4)
                        # enable corekeeper
                        sed -i -e 's/^corekeeper_enabled\ =\ 0/corekeeper_enabled = 1/g' "${FexSettings}"
                        ;;
                3)
                        # disable corekeeper and 1 core in /etc/rc.local
                        sed -i -e 's/^corekeeper_enabled\ =\ 1/corekeeper_enabled = 0/g' "${FexSettings}"
                        echo "echo 0 >/sys/devices/system/cpu/cpu\3/online" >>"${RCLocalContents}"
                        ;;
                2)
                        # disable corekeeper and 2 cores in /etc/rc.local
                        sed -i -e 's/^corekeeper_enabled\ =\ 1/corekeeper_enabled = 0/g' "${FexSettings}"
                        echo "for i in 3 2; do echo 0 >/sys/devices/system/cpu/cpu\${i}/online; done" >>"${RCLocalContents}"
                        ;;
                1)
                        # disable corekeeper and 3 cores in /etc/rc.local
                        sed -i -e 's/^corekeeper_enabled\ =\ 1/corekeeper_enabled = 0/g' "${FexSettings}"
                        echo "for i in 3 2 1; do echo 0 >/sys/devices/system/cpu/cpu\${i}/online; done" >>"${RCLocalContents}"
                        ;;
                *)

 

 

I added the line:
                        echo "" >>"${RCLocalContents}"

and now it looks like this:
New:

        # Active CPU cores
        case ${CPUCores} in
                ""|4)
                        # enable corekeeper
                        sed -i -e 's/^corekeeper_enabled\ =\ 0/corekeeper_enabled = 1/g' "${FexSettings}"
                        echo "" >>"${RCLocalContents}"
                        ;;
                3)
                        # disable corekeeper and 1 core in /etc/rc.local
                        sed -i -e 's/^corekeeper_enabled\ =\ 1/corekeeper_enabled = 0/g' "${FexSettings}"
                        echo "echo 0 >/sys/devices/system/cpu/cpu\3/online" >>"${RCLocalContents}"
                        ;;
                2)
                        # disable corekeeper and 2 cores in /etc/rc.local
                        sed -i -e 's/^corekeeper_enabled\ =\ 1/corekeeper_enabled = 0/g' "${FexSettings}"
                        echo "for i in 3 2; do echo 0 >/sys/devices/system/cpu/cpu\${i}/online; done" >>"${RCLocalContents}"
                        ;;
                1)
                        # disable corekeeper and 3 cores in /etc/rc.local
                        sed -i -e 's/^corekeeper_enabled\ =\ 1/corekeeper_enabled = 0/g' "${FexSettings}"
                        echo "for i in 3 2 1; do echo 0 >/sys/devices/system/cpu/cpu\${i}/online; done" >>"${RCLocalContents}"
                        ;;
                *)

 

Now it works just fine.

 

 

Link to comment
Share on other sites

Hi Peter12

 

When using armbianmonitor -m the first value is the cpu under load. After that it shows the actual cpu speed.

 

On my NanopiNeo it looks like this:

 

root@nanopineo:/boot# armbianmonitor -m
Stop monitoring using [ctrl]-[c]
Time        CPU    load %cpu %sys %usr %nice %io %irq   CPU
23:47:14:  912MHz  0.00   0%   0%   0%   0%   0%   0%   38°C
23:47:19:  240MHz  0.00   0%   0%   0%   0%   0%   0%   38°C

 

The 912MHz is the max CPU speed for my Pi

The 240MHz is the CPU speed in idle.

 

When the CPU load is increased the CPU speed is automaticly increased.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines