Custom hardware device: orin nano 4G
software version:JetPack 5.1.5
When I was doing stress testing on Orin Nano, I found that I couldn’t lock the frequency. After executing sudo jetson_clocks, the frequency still decreased.
Here is test command:
sudo nvpmodel -m 0
sudo jetson_clocks
stress-ng --cpu $(nproc) --cpu-method matrixprod --cpu-load 95 &
stress-ng --vm 6 --vm-bytes 500M --vm-method all &
./matrixMulCUBLAS --sizemult=8 &
After execution, use jtop to check that both CPU and GPU are running at full capacity.
Then use tegrastats check freq:
01-01-1970 00:13:02 RAM 1544/3425MB (lfb 279x4MB) SWAP 1/1713MB (cached 0MB) CPU [100%@1510,100%@1510,100%@1510,100%@1510,100%@1510,100%@1510] EMC_FREQ 27%@2133 GR3D_FREQ 0%@[0,624] VIC_FREQ 435 APE 200 CV0@-256C CPU@42.375C SOC2@42.187C SOC0@40.468C CV1@-256C GPU@39.812C tj@42.375C SOC1@41.562C CV2@-256C VDD_IN 8591mW/8591mW VDD_CPU_GPU_CV 2932mW/2932mW VDD_SOC 1804mW/1804mW
01-01-1970 00:13:03 RAM 1558/3425MB (lfb 276x4MB) SWAP 1/1713MB (cached 0MB) CPU [100%@1510,100%@1510,100%@1510,100%@1510,100%@1510,100%@1510] EMC_FREQ 27%@2133 GR3D_FREQ 0%@[0,624] VIC_FREQ 435 APE 200 CV0@-256C CPU@42.25C SOC2@42.218C SOC0@40.562C CV1@-256C GPU@39.937C tj@42.218C SOC1@41.531C CV2@-256C VDD_IN 8552mW/8571mW VDD_CPU_GPU_CV 2932mW/2932mW VDD_SOC 1804mW/1804mW
01-01-1970 00:13:04 RAM 1597/3425MB (lfb 268x4MB) SWAP 1/1713MB (cached 0MB) CPU [100%@1510,100%@1510,100%@1510,100%@1510,100%@1510,100%@1510] EMC_FREQ 27%@2133 GR3D_FREQ 0%@[0,624] VIC_FREQ 435 APE 200 CV0@-256C CPU@42.5C SOC2@42.187C SOC0@40.687C CV1@-256C GPU@39.75C tj@42.5C SOC1@41.562C CV2@-256C VDD_IN 8552mW/8565mW VDD_CPU_GPU_CV 2937mW/2933mW VDD_SOC 1804mW/1804mW
01-01-1970 00:13:05 RAM 2138/3425MB (lfb 148x4MB) SWAP 1/1713MB (cached 0MB) CPU [100%@1510,100%@1510,100%@1510,100%@1510,100%@1510,100%@1510] EMC_FREQ 30%@2133 GR3D_FREQ 22%@[0,624] VIC_FREQ 435 APE 200 CV0@-256C CPU@42.343C SOC2@42.312C SOC0@40.656C CV1@-256C GPU@39.75C tj@42.343C SOC1@41.75C CV2@-256C VDD_IN 8670mW/8591mW VDD_CPU_GPU_CV 2971mW/2943mW VDD_SOC 1883mW/1823mW
01-01-1970 00:13:06 RAM 2432/3425MB (lfb 53x4MB) SWAP 1/1713MB (cached 0MB) CPU [100%@1510,100%@1510,100%@1510,100%@1510,100%@1510,100%@1510] EMC_FREQ 30%@2133 GR3D_FREQ 7%@[0,624] VIC_FREQ 435 APE 200 CV0@-256C CPU@42.25C SOC2@42.25C SOC0@40.625C CV1@-256C GPU@39.968C tj@42.25C SOC1@41.562C CV2@-256C VDD_IN 8631mW/8599mW VDD_CPU_GPU_CV 2937mW/2941mW VDD_SOC 1843mW/1827mW
01-01-1970 00:13:08 RAM 2696/3425MB (lfb 3x4MB) SWAP 2/1713MB (cached 0MB) CPU [100%@1510,100%@1510,100%@1510,100%@1510,100%@1510,100%@1510] EMC_FREQ 31%@2133 GR3D_FREQ 0%@[0,624] VIC_FREQ 435 APE 200 CV0@-256C CPU@42.406C SOC2@42.312C SOC0@40.656C CV1@-256C GPU@40.156C tj@42.406C SOC1@41.843C CV2@-256C VDD_IN 8670mW/8611mW VDD_CPU_GPU_CV 2893mW/2933mW VDD_SOC 1883mW/1836mW
01-01-1970 00:13:09 RAM 2817/3425MB (lfb 1x2MB) SWAP 121/1713MB (cached 0MB) CPU [99%@1510,100%@1510,100%@1510,100%@1510,100%@1510,100%@1510] EMC_FREQ 31%@2133 GR3D_FREQ 99%@[0,624] VIC_FREQ 435 APE 200 CV0@-256C CPU@42.437C SOC2@42.531C SOC0@40.875C CV1@-256C GPU@40.156C tj@42.5C SOC1@41.75C CV2@-256C VDD_IN 9556mW/8746mW VDD_CPU_GPU_CV 3630mW/3033mW VDD_SOC 1958mW/1854mW
01-01-1970 00:13:10 RAM 2819/3425MB (lfb 1x2MB) SWAP 121/1713MB (cached 0MB) CPU [100%@751,100%@750,100%@747,100%@748,100%@762,100%@750] EMC_FREQ 51%@2133 GR3D_FREQ 99%@[0,624] VIC_FREQ 435 APE 200 CV0@-256C CPU@41.906C SOC2@42.687C SOC0@41.281C CV1@-256C GPU@40.718C tj@42.687C SOC1@41.812C CV2@-256C VDD_IN 10597mW/8977mW VDD_CPU_GPU_CV 3936mW/3146mW VDD_SOC 2307mW/1910mW
01-01-1970 00:13:11 RAM 2820/3425MB (lfb 1x2MB) SWAP 121/1713MB (cached 0MB) CPU [100%@749,100%@749,100%@763,100%@751,100%@757,100%@748] EMC_FREQ 59%@2133 GR3D_FREQ 99%@[0,624] VIC_FREQ 435 APE 200 CV0@-256C CPU@41.843C SOC2@42.781C SOC0@41.5C CV1@-256C GPU@40.562C tj@42.781C SOC1@41.875C CV2@-256C VDD_IN 10636mW/9161mW VDD_CPU_GPU_CV 3936mW/3233mW VDD_SOC 2307mW/1954mW
01-01-1970 00:13:12 RAM 2820/3425MB (lfb 1x2MB) SWAP 121/1713MB (cached 0MB) CPU [100%@749,100%@748,100%@750,100%@749,100%@748,100%@749] EMC_FREQ 63%@2133 GR3D_FREQ 99%@[0,624] VIC_FREQ 435 APE 200 CV0@-256C CPU@41.843C SOC2@42.937C SOC0@41.593C CV1@-256C GPU@40.968C tj@42.937C SOC1@41.937C CV2@-256C VDD_IN 10636mW/9309mW VDD_CPU_GPU_CV 3936mW/3304mW VDD_SOC 2303mW/1989mW
01-01-1970 00:13:13 RAM 2820/3425MB (lfb 1x2MB) SWAP 121/1713MB (cached 0MB) CPU [100%@720,100%@748,100%@748,100%@749,100%@748,100%@751] EMC_FREQ 64%@2133 GR3D_FREQ 99%@[0,624] VIC_FREQ 435 APE 200 CV0@-256C CPU@42C SOC2@42.968C SOC0@41.75C CV1@-256C GPU@40.75C tj@43C SOC1@42.031C CV2@-256C VDD_IN 10636mW/9429mW VDD_CPU_GPU_CV 3936mW/3361mW VDD_SOC 2303mW/2018mW
top command:
nvidia@tegra-ubuntu:~$ top
top - 00:16:40 up 8 min, 1 user, load average: 12.58, 7.36, 3.09
Tasks: 277 total, 14 running, 263 sleeping, 0 stopped, 0 zombie
%Cpu0 : 97.7 us, 1.3 sy, 0.0 ni, 0.0 id, 0.0 wa, 1.0 hi, 0.0 si, 0.0 st
%Cpu1 : 99.3 us, 0.0 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.7 hi, 0.0 si, 0.0 st
%Cpu2 : 99.0 us, 0.7 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.3 hi, 0.0 si, 0.0 st
%Cpu3 : 78.4 us, 21.0 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.7 hi, 0.0 si, 0.0 st
%Cpu4 : 99.0 us, 0.3 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.3 hi, 0.3 si, 0.0 st
%Cpu5 : 99.0 us, 0.3 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.3 hi, 0.3 si, 0.0 st
MiB Mem : 3425.2 total, 98.1 free, 2851.3 used, 475.8 buff/cache
MiB Swap: 1712.6 total, 1592.9 free, 119.8 used. 381.9 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3604 nvidia 20 0 115860 97116 976 R 47.5 2.8 1:57.47 stress-ng-vm
3554 nvidia 20 0 19836 3520 1104 R 46.9 0.1 1:55.68 stress-ng-cpu
3558 nvidia 20 0 19836 3520 1104 R 46.6 0.1 1:56.58 stress-ng-cpu
3601 nvidia 20 0 115860 97200 976 R 46.6 2.8 1:56.20 stress-ng-vm
3676 root 20 0 5599040 1.3g 500192 R 46.6 37.9 1:51.53 matrixMulCUBLAS
3557 nvidia 20 0 19836 3520 1104 R 46.2 0.1 1:58.30 stress-ng-cpu
3555 nvidia 20 0 19836 3520 1104 R 45.2 0.1 1:59.04 stress-ng-cpu
3605 nvidia 20 0 115860 97116 976 R 45.2 2.8 1:58.82 stress-ng-vm
3606 nvidia 20 0 115860 97256 976 R 45.2 2.8 1:57.16 stress-ng-vm
3602 nvidia 20 0 115860 97192 976 R 44.6 2.8 1:58.11 stress-ng-vm
3556 nvidia 20 0 19836 3520 1104 R 44.3 0.1 1:55.74 stress-ng-cpu
3553 nvidia 20 0 19836 3520 1104 R 43.3 0.1 1:55.37 stress-ng-cpu
3603 nvidia 20 0 115860 97116 976 R 43.3 2.8 1:58.65 stress-ng-vm
242 root 19 -1 46080 11772 8448 S 0.7 0.3 0:00.89 systemd-journal
3764 root 20 0 2656 1588 1464 S 0.7 0.0 0:00.97 tegrastats
705 systemd+ 20 0 25072 12764 8168 S 0.3 0.4 0:00.61 systemd-resolve
3286 nvidia 20 0 15420 5776 4496 S 0.3 0.2 0:00.62 sshd
3300 nvidia 20 0 9076 2384 2232 S 0.3 0.1 0:00.73 bash
4871 nvidia 20 0 11688 3276 2532 R 0.3 0.1 0:00.07 top
1 root 20 0 170404 10884 7136 S 0.0 0.3 0:09.33 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.02 kthreadd
3 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_gp
4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_par_gp
6 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/0:0H-kblockd
7 root 20 0 0 0 0 I 0.0 0.0 0:00.26 kworker/u12:0-events_power_efficient
8 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 mm_percpu_wq
9 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_tasks_kthre
10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_tasks_rude_
11 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_tasks_trace
12 root 20 0 0 0 0 S 0.0 0.0 0:00.02 ksoftirqd/0
13 root 20 0 0 0 0 I 0.0 0.0 0:00.10 rcu_preempt
14 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
16 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/0
17 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/1
18 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migration/1
19 root 20 0 0 0 0 S 0.0 0.0 0:00.02 ksoftirqd/1
21 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/1:0H-events_highpri
22 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/2
23 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migration/2
24 root 20 0 0 0 0 S 0.0 0.0 0:00.01 ksoftirqd/2
25 root 20 0 0 0 0 I 0.0 0.0 0:00.00 kworker/2:0-mm_percpu_wq
When testing Orin NX 8g/16g, the same issue was encountered.
I want to know how Orin enforces frequency locking.