Linux에서 vsz와 rss의 차이점: 1. rss는 상주 메모리 크기를 나타내는 "Resident Set Size"의 약어이고, vsz는 가상 메모리 크기를 나타내는 "Virtual Memory Size"의 약어입니다. 2. rss는 프로세스에서 사용되는 메모리의 양을 나타내는 데 사용되며 스왑 아웃된 메모리는 포함되지 않습니다. 반면 vsz는 스왑 아웃된 메모리를 포함하여 프로세스가 액세스할 수 있는 모든 메모리를 포함합니다.
이 튜토리얼의 운영 환경: linux7.3 시스템, Dell G3 컴퓨터.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!