In Linux, vsz refers to the virtual memory size, which represents the size of the virtual address space owned by the process. This address space can be the actual allocated physical memory or the swap space. The SZ size is generally not an exact measure of how much memory a process is using, but rather an indication of the maximum amount of memory a process can use while loading all its functions and libraries into physical memory.
#The operating environment of this tutorial: linux7.3 system, Dell G3 computer.
ps command is a default command line tool on Linux systems, which allows us to gain insight into running processes. It provides us with a lot of useful information about these processes, including their PID (process ID), TTY, the user who ran the command or ran the program, etc.
There are two columns of fields in the ps command output that have not been discussed too much. They are the VSZ (Virtual Memory Size) and RSS (Resident Set Size) columns. Both columns provide information about how much memory the process is using.
The VSZ and RSS columns appear in the output of the ps command line, as shown in the screenshot below. The value is in kb for each process running on the system.
VSZ is the virtual memory size. This is the memory size given to the process by Linux. In other words, VSZ represents the virtual address space owned by the process. The size of this address space can be the actual allocated physical memory or the swap space. But this does not necessarily mean that the process uses all the memory. For example, many applications have functionality to perform certain tasks but may not load them into memory until needed. Linux utilizes demand paging, which only loads pages into memory when an application attempts to use them.
The VSZ size you see has taken into account all of these pages, but that does not mean they have been loaded into physical memory. Therefore, the VSZ size is generally not an exact measure of how much memory a process is using, but rather an indication of the maximum amount of memory a process can use while loading all its functions and libraries into physical memory.
RSS is the resident set size (Resident Set Size), which is the memory size of the process currently loading all its pages. At first glance, the RSS numbers appear to be the actual amount of physical memory used by system processes. However, each process's shared libraries are also counted, making the reported physical memory usage less accurate.
Here is an example. If you have two image editing programs on your Linux system, they probably use many of the same image processing libraries. If you open one of these applications, the necessary libraries will be loaded into RAM. When you open the second application, it will avoid reloading the copy of the library into RAM and share the same copy used by the first application. For both applications, the RSS column will calculate the size of the shared library, even though it is only loaded once. This means that the RSS size often overestimates the amount of physical memory actually used by the process.
If you are trying to monitor memory usage on a Linux system, there are more accurate methods than RSS and VSZ numbers. These methods are convenient for certain purposes.
Related recommendations: "Linux Video Tutorial"
The above is the detailed content of what is linux vsz. For more information, please follow other related articles on the PHP Chinese website!