How to reduce RAM usage to its minimum

I am using Jetson Xavier NX. At an idle state when there is no application running, I can see the RAM usage is always around 1.4-1.5GB. I am using NoMachine to remotely connect to it so I can understand around 300-400MBs are getting used in the connection. But I wanted to know what are the other applications running in background which are using the RAM. Is it possible to reduce the RAM usage.

Some RAM is not mandatory use at times, e.g., “spare” RAM might be used as cache or buffer, but is instantly available if needed for something else. I recommend you install xosview (“sudo apt-get install xosview”) and enlarge the GUI chart it produces. Note that type of RAM use is color coded. You can get a rough idea of what quantity of RAM must be used, versus that which is just being used for opportunity to improve performance.

@linuxdev I have attached image which shows xosview. In this I can see it shows lot of RAM in green color. Does that mean, we can free up that much RAM?
Also it doesn’t show the process which is consuming the RAM so how do we free up that much RAM

Notice in the “MEM” part that only the green is “mandatory”. This is roughly half of all RAM used. Note that relative to the size of the bar chart that this is only a small amount. This is not actually any kind of problem.

The operating system itself is probably consuming much of this. The GUI and/or shell consumes more. Together, this is just a small amount of what is available.

One thing you need to be particularly aware of is that Jetsons have an integrated GPU (iGPU), not a discrete GPU (dGPU) the way a desktop PC works. An iGPU shares RAM with the operating system. This means that of that green part of the bar chart for MEM that this includes any memory the GPU uses. Memory used for CUDA or graphical display is part of what consumes that portion.

Basically it seems that your Jetson is already using only a small amount of its RAM. The other RAM, which doubles this, is not dedicated and can be quickly used for something else, but improves performance when the opportunity allows.

Incidentally, the GPU can only use physical RAM. Virtual memory from swapping can’t be used for the GPU. You could increase swap space (with much performance loss) to make more memory available to user applications, but CUDA and graphical display would consume only the physical RAM.

Is there a particular problem you are running into? For example, is a program failing from lack of memory?

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.