2009-11-22 4 views
1

프로세스가 할당하는 메모리 페이지의 수를 알아야합니까? 각 페이지는 4096입니다. 프로세스 메모리 사용법 올바른 값을 찾는 데 문제가 있습니다. 고밀도 시스템 모니터를 볼 때 메모리 맵 아래에서 선택할 수있는 몇 가지 값이 있습니다.프로세스가 리눅스에서 사용하는 메모리의 페이지 수를 확인하십시오.

감사합니다.

이 점은 메모리 사용을 페이지 수로 나누고 페이지 크기를 확인하는 것입니다.

답변

5

정확하게 할당 된 정확한 메모리 양을 계산하기가 어렵습니다. 다른 프로세스 (라이브러리의 일부)와 공유 된 페이지가 있고 brk 및 익명의 mmap에 의해 할당 된 메모리를 사용하지 않았습니다. 디스크에서 완전히 가져 오지 않은 mmaped 파일 파일 등의 작은 부분 만 다루는 효율적인 처리 알고리즘으로 인해 디스크에 쓰여지는 페이지를 더럽혀 버렸습니다.

이 모든 복잡성을 처리하고 참 카운트를 계산하려면 페이지에 대한 자세한 정보는 /proc/<pid>/smaps에서 확인할 수 있으며 mem_usage.py 또는 smem.pl과 같은 도구를 사용하여 쉽게 사용할 수있는 요약으로 바꿀 수 있습니다.

0

프로세스가 스왑을 사용하지 않는다고 가정하면이 값은 "Resident Set Size"입니다.

프로세스가 훨씬 더 많은 메모리 ("가상 메모리 크기")를 할당 할 수 있지만 메모리에 쓰지 않는 한 RAM이나 디스크에 실제 메모리로 표시되지 않습니다 .

top과 같은 일부 시스템 도구는 각 프로세스에 대해 "스왑"을위한 큰 값을 표시합니다. 물론 이것은 완전히 틀리며, 값은 VMS와 RSS의 차이점이며 사용되지는 않지만 할당 된 메모리 페이지 .

관련 문제