>  기사  >  운영 및 유지보수  >  리눅스에서 vsz와 RSS의 차이점은 무엇입니까?

리눅스에서 vsz와 RSS의 차이점은 무엇입니까?

WBOY
WBOY원래의
2022-07-14 16:27:035914검색

Linux에서 vsz와 rss의 차이점: 1. rss는 상주 메모리 크기를 나타내는 "Resident Set Size"의 약어이고, vsz는 가상 메모리 크기를 나타내는 "Virtual Memory Size"의 약어입니다. 2. rss는 프로세스에서 사용되는 메모리의 양을 나타내는 데 사용되며 스왑 아웃된 메모리는 포함되지 않습니다. 반면 vsz는 스왑 아웃된 메모리를 포함하여 프로세스가 액세스할 수 있는 모든 메모리를 포함합니다.

리눅스에서 vsz와 RSS의 차이점은 무엇입니까?

이 튜토리얼의 운영 환경: linux7.3 시스템, Dell G3 컴퓨터.

Linux에서 vsz와 rss의 차이점은 무엇인가요?

RSS는 Resident Set Size(상주 메모리 크기)의 약어로, 프로세스에서 사용되는 메모리(RAM의 물리적 메모리)의 양을 나타내는 데 사용됩니다. RSS에는 메모리에서 스왑된 내용이 포함되지 않습니다. RSS에는 물리적 메모리에 연결되어 메모리에 로드되는 동적 라이브러리가 포함되어 있습니다. RSS에는 스택 메모리와 힙 메모리도 포함되어 있습니다.

VSZ는 Virtual Memory Size의 약어입니다. 여기에는 스왑 아웃된 메모리, 할당되었지만 아직 사용되지 않은 메모리, 동적 라이브러리의 메모리를 포함하여 프로세스가 액세스할 수 있는 모든 메모리가 포함됩니다.

예제는 다음과 같습니다

프로세스 A의 바이너리 파일이 500K이고 2500K 동적 라이브러리에 연결되어 있다고 가정합니다. 힙과 스택은 총 200K를 사용하고 그 중 100K가 메모리에 있습니다. 교체되거나 더 이상 사용되지 않음) 동적 라이브러리의 총 1000K 콘텐츠와 바이너리 파일의 400K 콘텐츠가 메모리에 로드된 다음:

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

메모리의 일부가 여러 프로세스에서 공유되고 사용되므로, 모든 프로세스의 RSS 값은 총 시스템 메모리보다 클 수 있습니다.

적용된 메모리가 프로그램에서 실제로 사용되지 않는 경우 RSS에 표시되지 않을 수 있습니다. 예를 들어, 프로그램이 미리 많은 양의 메모리를 적용하고 일정 시간이 지난 후 이를 사용하면 VSZ는 변경되지 않은 채 RSS는 커지는 것을 알 수 있습니다.

또 다른 개념은 PSS인데, 이는 Proportional Set Size(비례는 비례를 의미함)의 약자입니다. 이것은 사물을 측정하는 새로운 방법입니다. 동적 라이브러리에서 사용하는 메모리를 비례적으로 나눕니다. 예를 들어 이전 예의 동적 라이브러리를 두 프로세스에서 사용하는 경우

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

한 프로세스의 여러 스레드가 동일한 주소 공간을 공유합니다. 따라서 프로세스에 있는 여러 스레드의 RSS, VSZ 및 PSS는 완전히 동일합니다. Linux에서는 ps 또는 top 명령을 사용하여 이 정보를 볼 수 있습니다.

추천 학습: Linux 비디오 튜토리얼

위 내용은 리눅스에서 vsz와 RSS의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.