I notice some process always have VSZ as 0
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.0 19356 1400 ? Ss Jun13 0:00 /sbin/init root 2 0.0 0.0 0 0 ? S Jun13 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? S Jun13 0:00 [migration/0] root 4 0.0 0.0 0 0 ? S Jun13 0:01 [ksoftirqd/0] root 5 0.0 0.0 0 0 ? S Jun13 0:00 [stopper/0] root 6 0.0 0.0 0 0 ? S Jun13 0:03 [watchdog/0] root 7 0.0 0.0 0 0 ? S Jun13 0:00 [migration/1]
how to understand why they have 0 VSZ?
Advertisement
Answer
VSZ is the Virtual Memory Size. It includes all memory that the process can access, including memory that is swapped out, memory that is allocated, but not used, and memory that is from shared libraries.
So, the top
command screenshot you shared showing VSZ values equaling 0, means that those processes are not using VSZ.
NOTE: They are kernel threads and memory statistics are irrelevant for them as they use kernel memory. Just to visualize kernel processes, press c
when top command is running and it will show you all [bracketed] entries in last column named COMMAND.
You can get more details on VSZ and learn about its counterpart RSS (Resident Set Size) from here.