Linux memps
memps [-a] | [-v] | [-s] <pid> | [-f] <output file full path>
-s = sum (show only sum of each)
-f = all (show all processes via output file)
-a = all (show all processes)
-v = verbos (show all processes in detail)
memps -a
PID CODE DATA PEAK PSS 3D GEM(PSS) SWAP COMMAND
1 2928 1696 4624 2095 0 0 0 /sbin/init
* CODE: shared and private clean memory
->실제 실행되는 기계어 명령어, 어셈블리 코드가 쌓이는 곳.
* DATA: shared and private dirty memory
->프로그램에서 사용하는 전역변수, 정적변수, 각종변수
* PEAK: peak memory usage of CODE + DATA
* PSS: Proportional Set Size
-> USS + (공유 페이지 / 공유하는 프로세스 수). 즉, 프로세스 고유 메모리 사용량 + 하나의 프로세스가 차지하는 공유 메모리 비율이다. 만약 A프로세스가 6MB 메모리를 사용하고 그 중 2MB가 그 프로세스의 고유 영역이라면, 나머지 4MB는 공유 메모리이다. 4MB의 공유메모리를 4개의 프로세스가 공유하고 있다면 PSS는 2MB + (4MB/4) = 3MB가 된다.
* 3D: memory allocated by GPU driver
* GEM(PSS): GEM memory divided by # of sharers
* GEM(ALLOC): sum of unique GEM memory in the system
* TOTAL: PSS + 3D + GEM(ALLOC)
- PEAK: peak memory usage of CODE + DATA
memps -v
PID S(CODE) S(DATA) P(CODE) P(DATA) PEAK PSS 3D GEM(PSS) GEM(RSS) SWAP
1 2808 832 120 864 4624 2095 0 0 0 0
* S(CODE): shared clean memory, it includes duplicated memory
* S(DATA): shared dirty memory, it includes duplicated memory
* P(CODE): private clean memory
* P(DATA): private dirty memory
* PEAK: peak memory usage of S(CODE) + S(DATA) + P(CODE) + P(DATA)
* PSS: Proportional Set Size
* 3D: memory allocated by GPU driver
* GEM(PSS): GEM memory divided by # of sharers
* GEM(RSS): GEM memory including duplicated memory
* GEM(ALLOC): sum of unique gem memory in the system
* TOTAL: PSS + 3D + GEM(ALLOC)
[출처/참고]
메모리영역 : https://duwjdtn11.tistory.com/133
PSS: https://ecogeo.tistory.com/255
'Software Development > Linux' 카테고리의 다른 글
Window-linux 연결 / xming + putty 가이드 (0) | 2020.12.17 |
---|---|
Ubuntu 18.04 설치 시 문제들 (0) | 2020.12.05 |
Synergy 부팅시 자동 연결 (0) | 2020.03.26 |
Signal 종류 (0) | 2018.11.23 |
Bash에 git branch 정보 및 상태 표시 (0) | 2018.07.03 |