Jetson Nano B01 RAM memory runs out

Hello, I followed the [Getting Started with AI on Jetson Nano] course. Whereas the scripts work, they are very sensitive to the number of training images and epochs.

I had to use much less than the recommended number to get anything work.

I saw with free –h that the memory went down from 1.6 GB to 100MB or less. The installation is the dlinano img (downloaded April: 2020 -ainano_v1-1-1_20GB_200203B, ubuntu 18.04. LTS, NVIDIA Tegra X1 Graphics) and the nano is operated with HDMI and keyboard/mouse powered over a micro-USB.

Is this normal that memory is not sufficient for even basic applications? Or how can be the system tweaked to become more reliable?

In addition, the nano was getting quite warm even after the scripts (live) were stopped (in the script). The “top” shows that python3 is using about 80% CPU, and system-journal and rsyslogd too. Shutdown of the kernel did not improve the memory situation and CPU activity. The only error message that appears constantly in the terminal is “Can’t initialize nvrm channel”. The nano has 3.9G and 5.9G Swap.

Thanks for reading




Jetson Nano is designed as an edge device.
It is more recommended to use a desktop GPU for training rather than Nano.

The memory in Jetson Nano is only 4GB so it will limit your training data amount.
More, since the Nano doesn’t have fan inside, it’s recommended to help the device cool down for smoothing.


Update: after trying different SD images, including the last one JetPack4.3_L4T_R32.4.2, it seems that the issue is with Jupyter Lab. To prevent ERROR messages building up and the increase of syslog to the max size, the Chromium browser needs to be open, when started over the terminal with “jupyter lab”. The ERROR: Can’t initialize nvrm channel” still comes from time to time in the syslog, but less frequently. Update, Upgrade etc. did not solve the problem with jupyter lab. The high CPU levels from python3, system-journal and rsyslogd that were responsible for the temperature build-up before are now absent.

Update: It looks like I searched at the wrong place.
Switching off “Use hardware acceleration when available” (chrome://settings/system) in the Chromium browser removed ERROR messages about nvrm, and allowed to start jupyter lab directly from terminal again without the necessity to have Chrome loaded before. After switching-off - no initialization ERRORs in syslog.


Thanks for your feedback.

There is a similar bug which comes from chromium-browser.
We can fix that issue via turning off gpu like this:

$ chromium-browser --disable-gpu

It looks like you are using the similar approach to fix the error in Jupyter Lab.

Thank u.

(“Use hardware acceleration when available” : on) : Whereas the “chromium-browser –disable-gpu” prevented the old ERROR messages and kept the system stable for the first run of the kernel, a second restart of the same script, after “Shutdown all Kernel”, and addition of training images the system run into troubles and increased syslog again up to several GB (with some new errors: Scf: error invalid state:…).

However, a combination of switching off “Use hardware acceleration when available” (chrome://settings/system) in the Chromium browser and “chromium-browser –disable-gpu” seems to be the best so far, because it runs well and high speed of detection.

Thus, the nanon with the ainano_v1-1-1_20GB_200203B.img runs now nicely on a HDMI/Keyboard nano system with a free memory of about 200 MB constant due to the swaps.

I only have to find out what JetPack version this image is actually based on.

Update of the memory issue testing the classification of a Dlinano script using the nano in the desktop mode.

The demo script from Dlinano for classification does not run longer than about 20 min. Installation of LXDE desktop and using a light-weight browser (Epiphany) resulted that the script starts to run with about 1GB free memory. However over time, some memory was building up. It looks like that the Rendering engine of the browser is not releasing the memory of the JetCam based widget that displays the live video stream.

Testing the same script using the head-less mode of the nano allowed to run the script for several hours, however, similar memory build up takes place that the PC could handle.