Home>Article>Operation and Maintenance> What is the difference between vsz and rss in linux?

What is the difference between vsz and rss in linux?

WBOY
WBOY Original
2022-07-14 16:27:03 5692browse

The difference between vsz and rss in Linux: 1. rss is the abbreviation of "Resident Set Size", indicating the resident memory size, while vsz is the abbreviation of "Virtual Memory Size", indicating the virtual memory size; 2. RSS is used to indicate how much memory is used by the process, and does not include the memory that has been swapped out, while vsz contains all the memory that the process can access, including the memory that has been swapped out.

What is the difference between vsz and rss in linux?

#The operating environment of this tutorial: linux7.3 system, Dell G3 computer.

What is the difference between vsz and rss in Linux

RSS is the abbreviation of Resident Set Size (resident memory size), which is used to indicate how much memory (physical memory in RAM) is used by the process. memory), RSS does not include memory that has been swapped out. RSS contains the dynamic libraries it is linked to and loaded into memory in physical memory. RSS also contains stack memory and heap memory.

VSZ is the abbreviation of Virtual Memory Size. It contains all memory that the process can access, including memory that has been swapped out, memory that has been allocated but not yet used, and memory in dynamic libraries.

The example is as follows

Assume that the binary file of process A is 500K and is linked to a 2500K dynamic library. The heap and stack use a total of 200K, of which 100K is in memory (the rest is swapped out or no longer used), a total of 1000K content in the dynamic library and 400K content in the binary file are loaded into the memory, then:

RSS: 400K + 1000K + 100K = 1500K VSZ: 500K + 2500K + 200K = 3200K

Due to part of the memory It is shared and used by multiple processes, so if the RSS values of all processes are added together, it may be greater than the total memory of the system.

If the applied memory is not actually used by the program, it may not be displayed in RSS. For example, if a program applies for a large amount of memory in advance and uses it after a period of time, you will find that RSS will grow while VSZ remains unchanged.

Another concept is PSS, which is the abbreviation of proportional set size (proportional means proportional). This is a new way of measuring things. It proportionally divides the memory used by dynamic libraries. For example, if the dynamic library in our previous example is used by two processes, then:

PSS: 400K + (1000K/2) + 100K = 400K + 500K + 100K = 1000K

Multiple threads in a process share the same address space. So the RSS, VSZ, and PSS of multiple threads in a process are exactly the same. Under Linux, you can use the ps or top command to view this information.

Recommended learning:Linux video tutorial

The above is the detailed content of What is the difference between vsz and rss in linux?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn