-
Procrank에서 나오는 메모리 표시는 무슨 뜻일까? (VSS vs RSS vs PSS vs USS)Kernel 2013. 7. 19. 19:56
VSS : ∑VMA
RSS: ∑ Frame
PSS = ∑ (Frame /mapcount)
USS = ∑ Unshared frame
VMA는 linux에서 task가 가지고 있는 메모리 정보를 표현하는 단위이다. Code영역(RO영역), Data영역(RW영역), Stack, Shared Library mapped area, HEAP영역을 각각 VMA 자료구조로 표현한다.
VSS는 task에 할당된 4G virtual memory 영역 가운데 해당 task가 사용하려고 설정한 VMA영역의 크기의 합을 가르킨다.
RSS는 VMA영역 중에서 실제로 Physical memory영역(Frame)과 mapping되어 있는 크기의 합이다.
PSS는 RSS영역에서 다른 task와 공유하고 있는 Frame의 경우 공유하고 있는 task의 수로 해당 크기를 나눈 값을 더한 크기이다. 예를 들어 4kbyte의 영역을 4개의 task가 공유하고 있다면 총합을 구할 때 1Kbyte 만 더하게 된다.
USS는 다른 task와 공유되지 않은 physical memory의 합이다.
즉 VSS >= RSS >= PSS, USS 순의 크기
그림으로 그리면 간단하겠지만 귀찮은 관계로 생략…