A few weeks ago I received NVIDIA Jetson Nano for review together with 52Pi ICE Tower cooling fan which Seeed Studio included in the package, and yesterday I wrote a getting started guide showing how to setup the board, and play with inference samples leveraging the board’s AI capabilities.
I’ll now test the board with the stock heatsink in both 5W and 10W modes, and see if thermal throttling does occur, and then I’ll fit the tower cooling fan to find out if we can extract more performance that way and how much lower the CPU temperature is.
Jetson Nano Stress Tests with Stock Heatsink
Let’s install SBC-Bench testing utility,
1 2 |
wget https://raw.githubusercontent.com/ThomasKaiser/sbc-bench/master/sbc-bench.sh chmod +x sbc-bench.sh |
check it’s properly installed,
1 2 3 4 5 |
sudo ./sbc-bench.sh -m Time CPU load %cpu %sys %usr %nice %io %irq Temp 15:05:06: 922MHz 0.05 5% 1% 2% 0% 0% 0% 35.0°C 15:05:11: 922MHz 0.13 3% 1% 1% 0% 0% 0% 35.0°C 15:05:16: 922MHz 0.12 3% 1% 1% 0% 0% 0% 34.8°C |
and run it in 5W mode:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
sudo nvpmodel -m 1 sudo ./sbc-bench sbc-bench v0.6.9 Memory performance: memcpy: 3685.3 MB/s memset: 8555.4 MB/s 7-zip total scores (3 consecutive runs): 2877,2885,2854 OpenSSL results: type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes aes-128-cbc 284837.64k 525113.11k 639412.05k 706251.09k 728449.02k 729841.66k aes-128-cbc 284316.13k 525028.93k 634287.70k 704675.84k 728088.58k 728973.31k aes-192-cbc 262002.90k 458230.17k 544725.93k 588999.68k 604075.35k 604607.83k aes-192-cbc 261583.66k 458583.96k 538986.92k 588138.84k 602303.15k 604067.16k aes-256-cbc 247370.60k 405101.35k 466444.29k 501432.32k 512816.47k 513370.79k aes-256-cbc 247650.51k 405270.40k 469783.72k 502266.54k 513187.84k 512977.58k Full results uploaded to http://ix.io/23rg. Please check the log for anomalies (e.g. swapping or throttling happenend) and otherwise share this URL. |
The temperature never went over 44.5°C, and no throttling occurred.
tegrastats during 7-zip multi-core test:
1 2 3 4 |
CPU [100%@1428,100%@1428,off,off] EMC_FREQ 3%@1600 GR3D_FREQ 0%@76 APE 25 PLL@41.5C CPU@43.5C PMIC@100C GPU@43.5C AO@52.5C thermal@43.5C POM_5V_IN 3348/2567 POM_5V_GPU 0/0 POM_5V_CPU 1549/912 RAM 1211/3956MB (lfb 515x4MB) SWAP 0/1978MB (cached 0MB) IRAM 0/252kB(lfb 252kB) CPU [100%@1428,100%@1428,off,off] EMC_FREQ 3%@1600 GR3D_FREQ 0%@76 APE 25 PLL@41.5C CPU@44C PMIC@100C GPU@43.5C AO@52C thermal@43.5C POM_5V_IN 3348/2568 POM_5V_GPU 0/0 POM_5V_CPU 1549/912 RAM 1239/3956MB (lfb 508x4MB) SWAP 0/1978MB (cached 0MB) IRAM 0/252kB(lfb 252kB) CPU [100%@1428,100%@1428,off,off] EMC_FREQ 3%@1600 GR3D_FREQ 0%@76 APE 25 PLL@41.5C CPU@44C PMIC@100C GPU@43.5C AO@52.5C thermal@43.5C POM_5V_IN 3348/2569 POM_5V_GPU 0/0 POM_5V_CPU 1549/913 RAM 1265/3956MB (lfb 502x4MB) SWAP 0/1978MB (cached 0MB) IRAM 0/252kB(lfb 252kB) CPU [100%@1428,100%@1428,off,off] EMC_FREQ 3%@1600 GR3D_FREQ 0%@76 APE 25 PLL@41.5C CPU@43.5C PMIC@100C GPU@43.5C AO@52.5C thermal@43.5C POM_5V_IN 3348/2571 POM_5V_GPU 0/0 POM_5V_CPU 1510/914 |
Only two Cortex-A57 cores are used even under load, and power consumption is around 3.3 Watts.
Let’s run sbc-bench in 10W mode:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
$ sudo nvpmodel -m 0 $ sudo nvpmodel -q NVPM WARN: fan mode is not set! NV Power Mode: MAXN 0 $ sudo ./sbc-bench.sh [sudo] password for cnxsoft: sbc-bench v0.6.9 Installing needed tools. This may take some time... Done. Checking cpufreq OPP... Done. Executing tinymembench. This will take a long time... Done. Executing OpenSSL benchmark. This will take 3 minutes... Done. Executing 7-zip benchmark. This will take a long time... Done. Checking cpufreq OPP... Done. Memory performance: memcpy: 3683.5 MB/s (0.3%) memset: 8558.0 MB/s 7-zip total scores (3 consecutive runs): 5035,5045,5059 OpenSSL results: type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes aes-128-cbc 282575.37k 524919.70k 642781.95k 707851.26k 729044.31k 730562.56k aes-128-cbc 272243.57k 525433.39k 630973.87k 704120.49k 727479.64k 729584.98k aes-192-cbc 261923.39k 458297.94k 543293.95k 588578.47k 604037.12k 605437.95k aes-192-cbc 260836.10k 458175.36k 535501.23k 586962.60k 604045.31k 605011.97k aes-256-cbc 247839.73k 405669.46k 465043.80k 501512.87k 513157.80k 514053.46k aes-256-cbc 246869.99k 404923.56k 462729.56k 500898.13k 513010.35k 513824.09k Full results uploaded to http://ix.io/23rE. Please check the log for anomalies (e.g. swapping or throttling happenend) and otherwise share this URL. |
The maximum temperature was 48.5°C, and again no throttling occurred.
If we monitor the system with tegrastats we can see all four cores are used in 10W (MAXN) mode:
1 2 |
RAM 736/3956MB (lfb 627x4MB) SWAP 0/1978MB (cached 0MB) IRAM 0/252kB(lfb 252kB) CPU [0%@1428,100%@1428,0%@1428,0%@1428] EMC_FREQ 32%@1600 GR3D_FREQ 0%@76 APE 25 PLL@39C CPU@41.5C PMIC@100C GPU@41.5C AO@49.5C thermal@41.25C POM_5V_IN 3225/1881 POM_5V_GPU 0/0 POM_5V_CPU 1020/314 RAM 736/3956MB (lfb 627x4MB) SWAP 0/1978MB (cached 0MB) IRAM 0/252kB(lfb 252kB) CPU [2%@1428,100%@1428,2%@1428,2%@1428] EMC_FREQ 32%@1600 GR3D_FREQ 0%@76 APE 25 PLL@39.5C CPU@41.5C PMIC@100C GPU@41.5C AO@49.5C thermal@41.5C POM_5V_IN 3307/1881 POM_5V_GPU 0/0 POM_5V_CPU 1100/314 |
tegrastats during 7-zip multi-core benchmark:
1 2 3 4 |
RAM 697/3956MB (lfb 640x4MB) SWAP 0/1978MB (cached 0MB) IRAM 0/252kB(lfb 252kB) CPU [100%@1428,100%@1428,100%@1428,100%@1428] EMC_FREQ 2%@1600 GR3D_FREQ 0%@76 APE 25 PLL@45.5C CPU@47.5C PMIC@100C GPU@47.5C AO@55.5C thermal@47C POM_5V_IN 4603/1968 POM_5V_GPU 0/0 POM_5V_CPU 2867/384 RAM 687/3956MB (lfb 640x4MB) SWAP 0/1978MB (cached 0MB) IRAM 0/252kB(lfb 252kB) CPU [98%@1428,98%@1428,93%@1428,96%@1428] EMC_FREQ 2%@1600 GR3D_FREQ 0%@76 APE 25 PLL@44.5C CPU@47.5C PMIC@100C GPU@46.5C AO@55.5C thermal@47.25C POM_5V_IN 3506/1968 POM_5V_GPU 0/0 POM_5V_CPU 1753/384 RAM 781/3956MB (lfb 620x4MB) SWAP 0/1978MB (cached 0MB) IRAM 0/252kB(lfb 252kB) CPU [57%@1428,47%@1428,81%@1428,81%@1428] EMC_FREQ 2%@1600 GR3D_FREQ 0%@76 APE 25 PLL@44.5C CPU@45.5C PMIC@100C GPU@46.5C AO@55.5C thermal@46.5C POM_5V_IN 4132/1968 POM_5V_GPU 0/0 POM_5V_CPU 2268/385 RAM 822/3956MB (lfb 610x4MB) SWAP 0/1978MB (cached 0MB) IRAM 0/252kB(lfb 252kB) CPU [55%@1428,44%@1428,100%@1428,100%@1428] EMC_FREQ 4%@1600 GR3D_FREQ 0%@76 APE 25 PLL@45C CPU@46C PMIC@100C GPU@47C AO@55.5C thermal@46.25C POM_5V_IN 4172/1969 POM_5V_GPU 0/0 POM_5V_CPU 2305/385 |
The power consumption went up to 4.1 watts.
So just stressing the CPU won’t do. Let’s try the “Raspberry Pi Foundation method” with stress-ng (for CPU)
1 2 |
sudo apt install stress-ng stress-ng --cpu 0 --cpu-method fft |
and glxgears (for GPU):
1 2 |
sudo apt install mesa-utils glxgears -fullscreen |
Both running at the same, and I went to bed… In the morning I could see it was still running and the CPU temperature was around 67C, but the display was off, and since it’s winter, the ambient temperature was around 20°C. So I made sure to disable automatic Screen Lock so that the display does not turn off, and let it run for a few more hours waiting for ambient temperature to rise to around 27ºC since I usually test devices at around 28°C.
tegrastats output after close to 16 hours running the stress test:
1 2 3 |
RAM 2359/3956MB (lfb 42x4MB) SWAP 0/1978MB (cached 0MB) IRAM 0/252kB(lfb 252kB) CPU [100%@1428,100%@1428,100%@1428,100%@1428] EMC_FREQ 10%@1600 GR3D_FREQ 38%@230 APE 25 PLL@69C CPU@74C PMIC@100C GPU@68C AO@78.5C thermal@71C POM_5V_IN 6170/3835 POM_5V_GPU 517/142 POM_5V_CPU 3259/1906 RAM 2359/3956MB (lfb 42x4MB) SWAP 0/1978MB (cached 0MB) IRAM 0/252kB(lfb 252kB) CPU [100%@1428,100%@1428,100%@1428,100%@1428] EMC_FREQ 10%@1600 GR3D_FREQ 39%@230 APE 25 PLL@69C CPU@74C PMIC@100C GPU@68C AO@78.5C thermal@71C POM_5V_IN 6210/3835 POM_5V_GPU 517/142 POM_5V_CPU 3259/1906 RAM 2359/3956MB (lfb 42x4MB) SWAP 0/1978MB (cached 0MB) IRAM 0/252kB(lfb 252kB) CPU [100%@1428,100%@1428,100%@1428,100%@1428] EMC_FREQ 10%@1600 GR3D_FREQ 43%@230 APE 25 PLL@69.5C CPU@74C PMIC@100C GPU@68C AO@78.5C thermal@70.75C POM_5V_IN 6170/3835 POM_5V_GPU 517/142 POM_5V_CPU 3259/1906 |
We can see all four cores are maxed out to 1428 MHz, CPU temperature is 74°C below the recommended 85°C max, although the AO (always-on) temperature sensor reaches 78.5°C and an IR thermometer reports 74°C, while power consumption is around 6.2 Watts. However, GPU utilization is only 40% @ 230 MHz. So that glxgears program is like a walk in the park for the Pascal GPU, and not stressing it at all.
I can see people running YoloV3 had the GPU clocked at 921 MHz with 99% utilization. Let’s do something more challenging, and run objects detection from an RTSP camera stream:
1 |
./detectnet-camera -width=640 -height=480 |
After a while we can check statistics with tegrastats while running inference on our RTSP Stream with room temperature at 24C:
1 2 3 |
RAM 2485/3956MB (lfb 107x4MB) SWAP 0/1978MB (cached 0MB) IRAM 0/252kB(lfb 252kB) CPU [29%@1132,28%@1132,25%@1132,26%@1132] EMC_FREQ 27%@1600 GR3D_FREQ 99%@921 NVDEC 716 APE 25 PLL@75C CPU@77C PMIC@100C GPU@75.5C AO@85.5C thermal@76.25C POM_5V_IN 7847/7356 POM_5V_GPU 2874/2862 POM_5V_CPU 1206/983 RAM 2485/3956MB (lfb 107x4MB) SWAP 0/1978MB (cached 0MB) IRAM 0/252kB(lfb 252kB) CPU [24%@307,27%@307,25%@307,25%@307] EMC_FREQ 27%@1600 GR3D_FREQ 55%@921 NVDEC 716 APE 25 PLL@75C CPU@77C PMIC@100C GPU@75C AO@85C thermal@76C POM_5V_IN 7206/7356 POM_5V_GPU 2624/2862 POM_5V_CPU 861/983 RAM 2485/3956MB (lfb 107x4MB) SWAP 0/1978MB (cached 0MB) IRAM 0/252kB(lfb 252kB) CPU [33%@825,23%@825,27%@825,21%@825] EMC_FREQ 27%@1600 GR3D_FREQ 70%@921 NVDEC 716 APE 25 PLL@75C CPU@77C PMIC@100C GPU@75.5C AO@85C thermal@76C POM_5V_IN 7156/7356 POM_5V_GPU 2580/2862 POM_5V_CPU 1054/983 |
The GPU is now always running at 921 MHz, but not always at max (99%) utilization, and CPU utilization is not very high. The CPU temperature is now around 77°C, and the AO temperature sensor reports 85°C so we start getting close to the limit. Power consumption is around 7.2 Watts during this test.
That’s still not enough to throttle the system, so let run a CPU stress test as well.
1 |
stress-ng --cpu 0 --cpu-method fft |
Tegrastats output after one hour at around 22°C ambient temperature:
1 2 3 |
RAM 2559/3956MB (lfb 107x4MB) SWAP 1/1978MB (cached 0MB) IRAM 0/252kB(lfb 252kB) CPU [100%@1224,100%@1224,100%@1224,100%@1224] EMC_FREQ 28%@1600 GR3D_FREQ 83%@921 APE 25 PLL@92C CPU@96.5C PMIC@100C GPU@93C AO@104C thermal@95C POM_5V_IN 9677/7773 POM_5V_GPU 3567/2945 POM_5V_CPU 2803/1297 RAM 2559/3956MB (lfb 107x4MB) SWAP 1/1978MB (cached 0MB) IRAM 0/252kB(lfb 252kB) CPU [100%@1326,100%@1326,100%@1326,100%@1326] EMC_FREQ 28%@1600 GR3D_FREQ 67%@921 NVDEC 486 APE 25 PLL@92.5C CPU@97C PMIC@100C GPU@93C AO@104C thermal@94.75C POM_5V_IN 10195/7773 POM_5V_GPU 3624/2945 POM_5V_CPU 3015/1298 RAM 2559/3956MB (lfb 107x4MB) SWAP 1/1978MB (cached 0MB) IRAM 0/252kB(lfb 252kB) CPU [100%@1326,100%@1326,100%@1326,100%@1326] EMC_FREQ 28%@1600 GR3D_FREQ 99%@921 NVDEC 486 APE 25 PLL@92.5C CPU@96.5C PMIC@100C GPU@92.5C AO@104C thermal@95C POM_5V_IN 10061/7773 POM_5V_GPU 3700/2945 POM_5V_CPU 2864/1298 |
I finally managed to make the board overheat, and the CPU throttle. Total power consumption is over 10 Watts, CPU utilization is 100%, but we can see the frequency has been lowered to 1224 to 1326 MHz, CPU temperature is 97°C, while the AO sensor shows a very hot 104°C. I’ve let it run a few more hours, and the system is stable but it does run very hot and throttles a little bit.
Checking the heatsink temperature with an IR thermometer shows it’s very hot close to 94°C. That’s an extreme test with both CPU and GPU nearly fully utilized at the same time.
Installing 52Pi Tower Cooling Fan
Let’s stop torturing the board, and instead 52Pi Tower Cooling fan for Jetson Nano. After we take out the module from the board we can loosen the four screws holding the stock heatsink in place with the “star” screwdriver provided with the cooling fan.
Next, we next to placed the thermal pad on top of the NVIDIA processor making sure we removed the plastic film in the process. Now we can install 52Pi ICE tower cooling fan using the same four screws and metallic holder.
Double-check you’ve installed the fansink in the right position…… and finally connect the 4-wire cable to the PWM fan header. We can now connect everything back, and when we power back the power we’ll see the RGB LED’s lighting the fan in various colors.
The quick start guide tells us to run jetson_clocks after installation. This utility is used to “set static max frequency to CPU, GPU, and EMC clocks” for maximum performance.
Let’s check the status before:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
sudo jetson_clocks --show SOC family:tegra210 Machine:NVIDIA Jetson Nano Developer Kit Online CPUs: 0-3 CPU Cluster Switching: Disabled cpu0: Online=1 Governor=schedutil MinFreq=102000 MaxFreq=1428000 CurrentFreq=710400 IdleStates: WFI=1 c7=1 cpu1: Online=1 Governor=schedutil MinFreq=102000 MaxFreq=1428000 CurrentFreq=825600 IdleStates: WFI=1 c7=1 cpu2: Online=1 Governor=schedutil MinFreq=102000 MaxFreq=1428000 CurrentFreq=614400 IdleStates: WFI=1 c7=1 cpu3: Online=1 Governor=schedutil MinFreq=102000 MaxFreq=1428000 CurrentFreq=1036800 IdleStates: WFI=1 c7=1 GPU MinFreq=76800000 MaxFreq=921600000 CurrentFreq=307200000 EMC MinFreq=204000000 MaxFreq=1600000000 CurrentFreq=1600000000 FreqOverride=0 Fan: speed=0 NV Power Mode: MAXN |
and after:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
sudo jetson_clocks sudo jetson_clocks --show SOC family:tegra210 Machine:NVIDIA Jetson Nano Developer Kit Online CPUs: 0-3 CPU Cluster Switching: Disabled cpu0: Online=1 Governor=schedutil MinFreq=1428000 MaxFreq=1428000 CurrentFreq=1428000 IdleStates: WFI=0 c7=0 cpu1: Online=1 Governor=schedutil MinFreq=1428000 MaxFreq=1428000 CurrentFreq=1428000 IdleStates: WFI=0 c7=0 cpu2: Online=1 Governor=schedutil MinFreq=1428000 MaxFreq=1428000 CurrentFreq=1428000 IdleStates: WFI=0 c7=0 cpu3: Online=1 Governor=schedutil MinFreq=1428000 MaxFreq=1428000 CurrentFreq=1428000 IdleStates: WFI=0 c7=0 GPU MinFreq=921600000 MaxFreq=921600000 CurrentFreq=921600000 EMC MinFreq=204000000 MaxFreq=1600000000 CurrentFreq=1600000000 FreqOverride=1 Fan: speed=255 NV Power Mode: MAXN |
So all clocks are run at the maximum all the time, and the fan is enabled. It’s fairly quiet.
Let’s see what we’ve got in tegrastats at idle:
1 2 |
RAM 1359/3956MB (lfb 479x4MB) SWAP 0/1978MB (cached 0MB) IRAM 0/252kB(lfb 252kB) CPU [1%@1428,0%@1428,0%@1428,0%@1428] EMC_FREQ 2%@1600 GR3D_FREQ 0%@921 APE 25 PLL@28.5C CPU@32.5C PMIC@100C GPU@28.5C AO@35C thermal@30.5C POM_5V_IN 2252/2262 POM_5V_GPU 122/122 POM_5V_CPU 286/286 RAM 1359/3956MB (lfb 479x4MB) SWAP 0/1978MB (cached 0MB) IRAM 0/252kB(lfb 252kB) CPU [0%@1428,0%@1428,0%@1428,0%@1428] EMC_FREQ 2%@1600 GR3D_FREQ 0%@921 APE 25 PLL@28.5C CPU@32.5C PMIC@100C GPU@28.5C AO@35C thermal@30.5C POM_5V_IN 2252/2260 POM_5V_GPU 122/122 POM_5V_CPU 286/286 |
Frequencies are indeed maxed out, but utilization is close to zero, and power consumption of the board around 2.2 Watts. The CPU temperature is 32.5°C with room temperature at 22°C.
Running stress tests with a fan
Let’s run the tests again starting with SBC Bench script:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
sudo ./sbc-bench.sh sbc-bench v0.6.9 Memory performance: memcpy: 3661.0 MB/s memset: 8555.2 MB/s 7-zip total scores (3 consecutive runs): 4953,4961,4953 OpenSSL results: type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes aes-128-cbc 273593.75k 525504.51k 630604.71k 703969.28k 728457.22k 729475.75k aes-128-cbc 282788.21k 524919.77k 640369.75k 706102.61k 728765.78k 729017.00k aes-192-cbc 261789.39k 457992.00k 537714.60k 588098.90k 603433.64k 603548.33k aes-192-cbc 254238.13k 458880.06k 533469.27k 586498.39k 603903.32k 605181.27k aes-256-cbc 247258.79k 405603.50k 467143.77k 502022.49k 513215.15k 513851.39k aes-256-cbc 245611.08k 402022.21k 466378.84k 498536.45k 508482.90k 508766.89k Full results uploaded to http://ix.io/23ST. Please check the log for anomalies (e.g. swapping or throttling happenend) and otherwise share this URL. |
Somehow performance with 7-zip is slightly lower (4,955 vs 5046), but still similar. The maximum temperature is much lower (35.8°C) against 48.5°C for the stock fan test, but it does not really matter since we are so far below the recommended maximum temperature.
tegrastats during 7-zip multi-core benchmark:
1 2 |
RAM 2242/3956MB (lfb 226x4MB) SWAP 0/1978MB (cached 0MB) IRAM 0/252kB(lfb 252kB) CPU [100%@1428,63%@1428,100%@1428,63%@1428] EMC_FREQ 8%@1600 GR3D_FREQ 0%@921 APE 25 PLL@32.5C CPU@38C PMIC@100C GPU@31C AO@38C thermal@34.25C POM_5V_IN 4574/3035 POM_5V_GPU 120/121 POM_5V_CPU 2207/931 RAM 2267/3956MB (lfb 221x4MB) SWAP 0/1978MB (cached 0MB) IRAM 0/252kB(lfb 252kB) CPU [100%@1428,58%@1428,100%@1428,60%@1428] EMC_FREQ 8%@1600 GR3D_FREQ 0%@921 APE 25 PLL@32.5C CPU@38C PMIC@100C GPU@31C AO@38C thermal@34.25C POM_5V_IN 4267/3037 POM_5V_GPU 120/121 POM_5V_CPU 2009/932 |
Power consumption is around 4.4 Watts, around 0.3 watts higher than without fan.
CPU stress and lightweight GPU program in two separate terminals:
1 2 |
stress-ng --cpu 0 --cpu-method fft glxgears -fullscreen |
Again, I happened to leave this test run overnight, and checked the next day before lunch (21°C ambient temperature):
1 2 3 |
RAM 1478/3956MB (lfb 420x4MB) SWAP 0/1978MB (cached 0MB) IRAM 0/252kB(lfb 252kB) CPU [100%@1428,100%@1428,100%@1428,100%@1428] EMC_FREQ 10%@1600 GR3D_FREQ 15%@921 APE 25 PLL@37C CPU@43C PMIC@100C GPU@34.5C AO@42C thermal@38.75C POM_5V_IN 5405/5388 POM_5V_GPU 556/488 POM_5V_CPU 2821/2830 RAM 1478/3956MB (lfb 420x4MB) SWAP 0/1978MB (cached 0MB) IRAM 0/252kB(lfb 252kB) CPU [100%@1428,100%@1428,100%@1428,100%@1428] EMC_FREQ 10%@1600 GR3D_FREQ 15%@921 APE 25 PLL@36.5C CPU@43.5C PMIC@100C GPU@34C AO@42C thermal@38.75C POM_5V_IN 5484/5388 POM_5V_GPU 516/488 POM_5V_CPU 2856/2830 RAM 1478/3956MB (lfb 420x4MB) SWAP 0/1978MB (cached 0MB) IRAM 0/252kB(lfb 252kB) CPU [100%@1428,100%@1428,100%@1428,100%@1428] EMC_FREQ 10%@1600 GR3D_FREQ 17%@921 APE 25 PLL@37C CPU@43.5C PMIC@100C GPU@34C AO@42C thermal@38.75C POM_5V_IN 5365/5388 POM_5V_GPU 476/488 POM_5V_CPU 2866/2831 |
CPU Temperature was 43.5°C (against 74°C with the stock fan), and for reasons I can’t explain, the reported power consumption is also lower (5.4W vs 6.2W).
Let’s stop glxgears, and instead run inference on our RTSP stream while keeping stress-ng running. Tegrastats after two hours and an ambient temperature of 23°C:
1 2 3 |
RAM 2579/3956MB (lfb 1x2MB) SWAP 0/1978MB (cached 0MB) IRAM 0/252kB(lfb 252kB) CPU [100%@1428,100%@1428,100%@1428,100%@1428] EMC_FREQ 28%@1600 GR3D_FREQ 65%@921 NVDEC 716 APE 25 PLL@51.5C CPU@58C PMIC@100C GPU@48.5C AO@60C thermal@53.5C POM_5V_IN 8640/6828 POM_5V_GPU 2645/1444 POM_5V_CPU 2913/2872 RAM 2579/3956MB (lfb 1x2MB) SWAP 0/1978MB (cached 0MB) IRAM 0/252kB(lfb 252kB) CPU [100%@1428,100%@1428,100%@1428,100%@1428] EMC_FREQ 28%@1600 GR3D_FREQ 56%@921 APE 25 PLL@50.5C CPU@58C PMIC@100C GPU@48.5C AO@60C thermal@53.25C POM_5V_IN 8244/6828 POM_5V_GPU 2735/1444 POM_5V_CPU 2928/2872 RAM 2579/3956MB (lfb 1x2MB) SWAP 0/1978MB (cached 0MB) IRAM 0/252kB(lfb 252kB) CPU [100%@1428,100%@1428,100%@1428,100%@1428] EMC_FREQ 28%@1600 GR3D_FREQ 99%@921 NVDEC 716 APE 25 PLL@50.5C CPU@58C PMIC@100C GPU@48.5C AO@60C thermal@53C POM_5V_IN 8855/6828 POM_5V_GPU 2717/1444 POM_5V_CPU 2903/2872 |
We can see there’s no CPU throttling with all four cores running at 1428 MHz, CPU temperature went up to 58°C, AO temperature sensor up to 60°C. What confuses me is the power consumption of 8.8Watts against around 10W when using the stock heatsink.
Conclusion
NVIDIA Jetson Nano developer kit will work just fine in most cases with the stock heatsink. But If you’re running continuous inference on a camera stream temperature may be a bit too high especially in higher ambient temperature, and if your workload somehow continuously stresses the CPU and GPU, a fansink will certainly help to make sure performance is constant throughout and may help with the board longevity.
52Pi ICE tower cooling fan provides the cooling you need for $24.90 plus shipping, and it’s nice if you’d like something efficient and pretty with LED’s, but you’d probably be able to achieve similar cooling with a cheaper $9 cooling fan meant to be installed on top of the stock heatsink.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
My guess was around 65-67 through your previous post. Yet 60 with a sbc is really good. Still if considering its winter and result may vary if used outside or under long use & load or different climatic conditions. But a good alternate option indeed.
I hate fan noise, apart from the fact that fast moving mechanics are the first item to fail on any electronic system.
hi… thanks for the post. It is clear that you have run jetson nano for several hours continuously.
I want to test OpenCV facial recognition or yolov3 object detection. For how long will I be able to continuously run these algorithms with an ambient temperature of 30 degree Celcius?
Thank you very much for this experiment and reporting the results.