Hi everyone,
Could you please help me understand what “used” and “GPU sh” in jtop mean? I noticed that when my service starts, the GPU sh shows 5.4GB, but the “used” value doesn’t increase by the same 5.4GB. Why is this happening?
From my understanding, “used” represents the memory usage (CPU + GPU). So, when my GPU usage increases by 5.4GB, I would expect the “used” value to also increase by 5.4GB. However, this doesn’t seem to be the case. Can anyone explain why?
Hi @DaneLLL So, the shared memory seems to be static and not exposed to the GPU when no GPU tasks are running. Does this mean that even though memory has already been allocated to the GPU shared memory, it won’t show up as ‘used’ if nothing is actively running? Has it actually already been allocated? In my case, my service first loads the LLM—wouldn’t that count as being ‘in use’?
Based on my observations, Figure 1 shows memory usage without loading the LLM, while Figure 2 shows the usage after loading the LLM. As you can see, there is a significant increase in GPU shared memory (GPU sh). However, the increase in used memory is not proportional to the rise in GPU shared memory.
Figure 1
The Shared RAM for the NVIDIA Jetson refers to the RAM utilized by the GPU. This value is directly accessible from the board, while other RAM measurements are obtained from the file /proc/meminfo for each field.
Hi @Raffaello
Based on the formula you provided, it seems that “Used” does not include “GPU sh,” which means my actual memory usage might be “Used + GPU sh,” right? What I’d like to understand is how to interpret these memory statistics to determine the actual resources required to run my services. For example, in the following case:
Used: 28.1 G
GPU sh: 12.3 G
Buffers: 287 M
Cached: 15.1 G
Free: 18.2 G
TOT: 61.4 G
According to the formula in the code: Used = TOT - Free - (Buffers + Cached) = 61.4 - 18.2 - (0.287 + 15.1)
This raises some questions:
It seems that “Used” cannot fully represent the memory required to run services. Would the actual required memory be Used + GPU sh?
If not, does “GPU sh” mean memory is allocated but not actively used?
If “GPU sh” is actively used, where would it be reflected? For example, would “Free” decrease or “Cached” increase?
If there isn’t enough memory available for “GPU sh” allocation, would the program crash?
I apologize for the many questions—it’s a bit overwhelming to figure this out.
Hi @Raffaello
I’ve created a new issue, but I’m not sure if the tag I used is appropriate since I couldn’t find any tags specifically for asking questions.