새소식

Operation System/Unix & Linux

pmap을 통한 프로세스 메모리 덤프

  • -
728x90
반응형

리눅스 환경에서 운영 중인 프로세스의 메모리 사용량을 확인하고 싶을 때가 있습니다. pmap 기본 유틸리티를 활용하면 top이나 ps를 통해 확인하는 메모리 사용량 보다 더 자세한 정보를 확인할 수 있습니다.

[root@3408784cf86c /]# pmap --help Usage: pmap [options] PID [PID ...] Options: -x, --extended show details -X show even more details WARNING: format changes according to /proc/PID/smaps -XX show everything the kernel provides -c, --read-rc read the default rc -C, --read-rc-from=<file> read the rc from file -n, --create-rc create new default rc -N, --create-rc-to=<file> create new rc to file NOTE: pid arguments are not allowed with -n, -N -d, --device show the device format -q, --quiet do not display header and footer -p, --show-path show path in the mapping -A, --range=<low>[,<high>] limit results to the given range -h, --help display this help and exit -V, --version output version information and exit For more details see pmap(1).

[root@374d23a5fa37 ~]# ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 03:13 pts/0 00:00:00 /bin/bash root 15 0 0 03:13 pts/1 00:00:00 bash root 190 15 0 04:10 pts/1 00:00:00 ps -ef
  • pmap 유틸리티는 기본적으로 리눅스 환경에 설치되는 유틸리티이며, 별도의 설치 과정 없이 수행 가능 합니다.
  • 수행에 앞서 메모리 덤프를 수행하고자하는 프로세스 ID를 확인 합니다.
[root@374d23a5fa37 ~]# pmap 15 15: bash 000055ca3c000000 1056K r-x-- bash 000055ca3c307000 16K r---- bash 000055ca3c30b000 36K rw--- bash 000055ca3c314000 40K rw--- [ anon ] 000055ca3d597000 368K rw--- [ anon ] 00007f32a7066000 44K r-x-- libnss_files-2.28.so 00007f32a7071000 2048K ----- libnss_files-2.28.so 00007f32a7271000 4K r---- libnss_files-2.28.so 00007f32a7272000 4K rw--- libnss_files-2.28.so 00007f32a7273000 24K rw--- [ anon ] 00007f32a7279000 1776K r-x-- libc-2.28.so 00007f32a7435000 2044K ----- libc-2.28.so 00007f32a7634000 16K r---- libc-2.28.so 00007f32a7638000 8K rw--- libc-2.28.so 00007f32a763a000 16K rw--- [ anon ] 00007f32a763e000 12K r-x-- libdl-2.28.so 00007f32a7641000 2044K ----- libdl-2.28.so 00007f32a7840000 4K r---- libdl-2.28.so 00007f32a7841000 4K rw--- libdl-2.28.so 00007f32a7842000 164K r-x-- libtinfo.so.6.1 00007f32a786b000 2044K ----- libtinfo.so.6.1 00007f32a7a6a000 16K r---- libtinfo.so.6.1 00007f32a7a6e000 4K rw--- libtinfo.so.6.1 00007f32a7a6f000 176K r-x-- ld-2.28.so 00007f32a7c93000 20K rw--- [ anon ] 00007f32a7c9b000 4K r---- ld-2.28.so 00007f32a7c9c000 8K rw--- ld-2.28.so 00007ffc76130000 132K rw--- [ stack ] 00007ffc761af000 16K r---- [ anon ] 00007ffc761b3000 8K r-x-- [ anon ] ffffffffff600000 4K --x-- [ anon ] total 12160K
  • 15번 프로세스에 대해 pmap을 수행 합니다. 
[root@374d23a5fa37 ~]# pmap -x 15 15: bash Address Kbytes RSS Dirty Mode Mapping 000055ca3c000000 1056 956 0 r-x-- bash 000055ca3c307000 16 16 16 r---- bash 000055ca3c30b000 36 36 36 rw--- bash 000055ca3c314000 40 28 28 rw--- [ anon ] 000055ca3d597000 368 248 248 rw--- [ anon ] 00007f32a7066000 44 44 0 r-x-- libnss_files-2.28.so 00007f32a7071000 2048 0 0 ----- libnss_files-2.28.so 00007f32a7271000 4 4 4 r---- libnss_files-2.28.so 00007f32a7272000 4 4 4 rw--- libnss_files-2.28.so 00007f32a7273000 24 0 0 rw--- [ anon ] 00007f32a7279000 1776 1372 0 r-x-- libc-2.28.so 00007f32a7435000 2044 0 0 ----- libc-2.28.so 00007f32a7634000 16 16 16 r---- libc-2.28.so 00007f32a7638000 8 8 8 rw--- libc-2.28.so 00007f32a763a000 16 16 16 rw--- [ anon ] 00007f32a763e000 12 12 0 r-x-- libdl-2.28.so 00007f32a7641000 2044 0 0 ----- libdl-2.28.so 00007f32a7840000 4 4 4 r---- libdl-2.28.so 00007f32a7841000 4 4 4 rw--- libdl-2.28.so 00007f32a7842000 164 164 0 r-x-- libtinfo.so.6.1 00007f32a786b000 2044 0 0 ----- libtinfo.so.6.1 00007f32a7a6a000 16 16 16 r---- libtinfo.so.6.1 00007f32a7a6e000 4 4 4 rw--- libtinfo.so.6.1 00007f32a7a6f000 176 176 0 r-x-- ld-2.28.so 00007f32a7c93000 20 16 16 rw--- [ anon ] 00007f32a7c9b000 4 4 4 r---- ld-2.28.so 00007f32a7c9c000 8 8 8 rw--- ld-2.28.so 00007ffc76130000 132 116 116 rw--- [ stack ] 00007ffc761af000 16 0 0 r---- [ anon ] 00007ffc761b3000 8 8 0 r-x-- [ anon ] ffffffffff600000 4 0 0 --x-- [ anon ] ---------------- ------- ------- ------- total kB 12160 3280 548
  • -x 옵션을 통해 자세한 정보를 확인할 수 있습니다. 
[root@374d23a5fa37 ~]# pmap -X 15 15: bash Address Perm Offset Device Inode Size Rss Pss Referenced Anonymous LazyFree ShmemPmdMapped FilePmdMapped Shared_Hugetlb Private_Hugetlb Swap SwapPss Locked THPeligible Mapping 55ca3c000000 r-xp 00000000 00:11f 10487055 1056 956 68 956 0 0 0 0 0 0 0 0 0 0 bash 55ca3c307000 r--p 00107000 00:11f 10487055 16 16 16 16 16 0 0 0 0 0 0 0 0 0 bash 55ca3c30b000 rw-p 0010b000 00:11f 10487055 36 36 36 36 36 0 0 0 0 0 0 0 0 0 bash 55ca3c314000 rw-p 00000000 00:00 0 40 28 28 28 28 0 0 0 0 0 0 0 0 0 55ca3d597000 rw-p 00000000 00:00 0 368 248 248 244 248 0 0 0 0 0 0 0 0 0 [heap] 7f32a7066000 r-xp 00000000 00:11f 10490867 44 44 3 44 0 0 0 0 0 0 0 0 0 0 libnss_files-2.28.so 7f32a7071000 ---p 0000b000 00:11f 10490867 2048 0 0 0 0 0 0 0 0 0 0 0 0 0 libnss_files-2.28.so 7f32a7271000 r--p 0000b000 00:11f 10490867 4 4 4 4 4 0 0 0 0 0 0 0 0 0 libnss_files-2.28.so 7f32a7272000 rw-p 0000c000 00:11f 10490867 4 4 4 4 4 0 0 0 0 0 0 0 0 0 libnss_files-2.28.so 7f32a7273000 rw-p 00000000 00:00 0 24 0 0 0 0 0 0 0 0 0 0 0 0 0 7f32a7279000 r-xp 00000000 00:11f 10490670 1776 1372 44 1372 0 0 0 0 0 0 0 0 0 0 libc-2.28.so 7f32a7435000 ---p 001bc000 00:11f 10490670 2044 0 0 0 0 0 0 0 0 0 0 0 0 0 libc-2.28.so 7f32a7634000 r--p 001bb000 00:11f 10490670 16 16 16 16 16 0 0 0 0 0 0 0 0 0 libc-2.28.so 7f32a7638000 rw-p 001bf000 00:11f 10490670 8 8 8 8 8 0 0 0 0 0 0 0 0 0 libc-2.28.so 7f32a763a000 rw-p 00000000 00:00 0 16 16 16 16 16 0 0 0 0 0 0 0 0 0 7f32a763e000 r-xp 00000000 00:11f 10490696 12 12 0 12 0 0 0 0 0 0 0 0 0 0 libdl-2.28.so 7f32a7641000 ---p 00003000 00:11f 10490696 2044 0 0 0 0 0 0 0 0 0 0 0 0 0 libdl-2.28.so 7f32a7840000 r--p 00002000 00:11f 10490696 4 4 4 4 4 0 0 0 0 0 0 0 0 0 libdl-2.28.so 7f32a7841000 rw-p 00003000 00:11f 10490696 4 4 4 4 4 0 0 0 0 0 0 0 0 0 libdl-2.28.so 7f32a7842000 r-xp 00000000 00:11f 10490958 164 164 13 164 0 0 0 0 0 0 0 0 0 0 libtinfo.so.6.1 7f32a786b000 ---p 00029000 00:11f 10490958 2044 0 0 0 0 0 0 0 0 0 0 0 0 0 libtinfo.so.6.1 7f32a7a6a000 r--p 00028000 00:11f 10490958 16 16 16 16 16 0 0 0 0 0 0 0 0 0 libtinfo.so.6.1 7f32a7a6e000 rw-p 0002c000 00:11f 10490958 4 4 4 4 4 0 0 0 0 0 0 0 0 0 libtinfo.so.6.1 7f32a7a6f000 r-xp 00000000 00:11f 10490644 176 176 4 176 0 0 0 0 0 0 0 0 0 0 ld-2.28.so 7f32a7c93000 rw-p 00000000 00:00 0 20 16 16 16 16 0 0 0 0 0 0 0 0 0 7f32a7c9b000 r--p 0002c000 00:11f 10490644 4 4 4 4 4 0 0 0 0 0 0 0 0 0 ld-2.28.so 7f32a7c9c000 rw-p 0002d000 00:11f 10490644 8 8 8 8 8 0 0 0 0 0 0 0 0 0 ld-2.28.so 7ffc76130000 rw-p 00000000 00:00 0 132 116 116 108 116 0 0 0 0 0 0 0 0 0 [stack] 7ffc761af000 r--p 00000000 00:00 0 16 0 0 0 0 0 0 0 0 0 0 0 0 0 [vvar] 7ffc761b3000 r-xp 00000000 00:00 0 8 8 0 8 0 0 0 0 0 0 0 0 0 0 [vdso] ffffffffff600000 --xp 00000000 00:00 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 [vsyscall] ===== ==== === ========== ========= ======== ============== ============= ============== =============== ==== ======= ====== =========== 12160 3280 680 3268 548 0 0 0 0 0 0 0 0 0 KB
  • -X 옵션은 -x 옵션 보다 더 자세한 정보를 확인해줍니다.
  • 기본 수행과 -x옵을 사용했을 때는 /proc/PID/maps 정보를 통해 확인을 해주었지만 -X 옵션은 /proc/PID/smaps을 통해 자세하게 표현해줍니다.
  • maps 가상 파일 보다 smaps 가상 파일이 더 자세한 정보를 표현 합니다.
[root@374d23a5fa37 ~]# pmap -XX 15 15: bash Address Perm Offset Device Inode Size KernelPageSize MMUPageSize Rss Pss Shared_Clean Shared_Dirty Private_Clean Private_Dirty Referenced Anonymous LazyFree AnonHugePages ShmemPmdMapped FilePmdMapped Shared_Hugetlb Private_Hugetlb Swap SwapPss Locked THPeligible VmFlags Mapping 55ca3c000000 r-xp 00000000 00:11f 10487055 1056 4 4 956 68 956 0 0 0 956 0 0 0 0 0 0 0 0 0 0 0 rd ex mr mw me sd bash 55ca3c307000 r--p 00107000 00:11f 10487055 16 4 4 16 16 0 0 0 16 16 16 0 0 0 0 0 0 0 0 0 0 rd mr mw me ac sd bash 55ca3c30b000 rw-p 0010b000 00:11f 10487055 36 4 4 36 36 0 0 0 36 36 36 0 0 0 0 0 0 0 0 0 0 rd wr mr mw me ac sd bash 55ca3c314000 rw-p 00000000 00:00 0 40 4 4 28 28 0 0 0 28 28 28 0 0 0 0 0 0 0 0 0 0 rd wr mr mw me ac sd 55ca3d597000 rw-p 00000000 00:00 0 368 4 4 248 248 0 0 0 248 240 248 0 0 0 0 0 0 0 0 0 0 rd wr mr mw me ac sd [heap] 7f32a7066000 r-xp 00000000 00:11f 10490867 44 4 4 44 3 44 0 0 0 44 0 0 0 0 0 0 0 0 0 0 0 rd ex mr mw me sd libnss_files-2.28.so 7f32a7071000 ---p 0000b000 00:11f 10490867 2048 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 mr mw me sd libnss_files-2.28.so 7f32a7271000 r--p 0000b000 00:11f 10490867 4 4 4 4 4 0 0 0 4 4 4 0 0 0 0 0 0 0 0 0 0 rd mr mw me ac sd libnss_files-2.28.so 7f32a7272000 rw-p 0000c000 00:11f 10490867 4 4 4 4 4 0 0 0 4 4 4 0 0 0 0 0 0 0 0 0 0 rd wr mr mw me ac sd libnss_files-2.28.so 7f32a7273000 rw-p 00000000 00:00 0 24 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 rd wr mr mw me ac sd 7f32a7279000 r-xp 00000000 00:11f 10490670 1776 4 4 1372 44 1372 0 0 0 1372 0 0 0 0 0 0 0 0 0 0 0 rd ex mr mw me sd libc-2.28.so 7f32a7435000 ---p 001bc000 00:11f 10490670 2044 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 mr mw me sd libc-2.28.so 7f32a7634000 r--p 001bb000 00:11f 10490670 16 4 4 16 16 0 0 0 16 16 16 0 0 0 0 0 0 0 0 0 0 rd mr mw me ac sd libc-2.28.so 7f32a7638000 rw-p 001bf000 00:11f 10490670 8 4 4 8 8 0 0 0 8 8 8 0 0 0 0 0 0 0 0 0 0 rd wr mr mw me ac sd libc-2.28.so 7f32a763a000 rw-p 00000000 00:00 0 16 4 4 16 16 0 0 0 16 16 16 0 0 0 0 0 0 0 0 0 0 rd wr mr mw me ac sd 7f32a763e000 r-xp 00000000 00:11f 10490696 12 4 4 12 0 12 0 0 0 12 0 0 0 0 0 0 0 0 0 0 0 rd ex mr mw me sd libdl-2.28.so 7f32a7641000 ---p 00003000 00:11f 10490696 2044 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 mr mw me sd libdl-2.28.so 7f32a7840000 r--p 00002000 00:11f 10490696 4 4 4 4 4 0 0 0 4 4 4 0 0 0 0 0 0 0 0 0 0 rd mr mw me ac sd libdl-2.28.so 7f32a7841000 rw-p 00003000 00:11f 10490696 4 4 4 4 4 0 0 0 4 4 4 0 0 0 0 0 0 0 0 0 0 rd wr mr mw me ac sd libdl-2.28.so 7f32a7842000 r-xp 00000000 00:11f 10490958 164 4 4 164 13 164 0 0 0 164 0 0 0 0 0 0 0 0 0 0 0 rd ex mr mw me sd libtinfo.so.6.1 7f32a786b000 ---p 00029000 00:11f 10490958 2044 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 mr mw me sd libtinfo.so.6.1 7f32a7a6a000 r--p 00028000 00:11f 10490958 16 4 4 16 16 0 0 0 16 16 16 0 0 0 0 0 0 0 0 0 0 rd mr mw me ac sd libtinfo.so.6.1 7f32a7a6e000 rw-p 0002c000 00:11f 10490958 4 4 4 4 4 0 0 0 4 4 4 0 0 0 0 0 0 0 0 0 0 rd wr mr mw me ac sd libtinfo.so.6.1 7f32a7a6f000 r-xp 00000000 00:11f 10490644 176 4 4 176 4 176 0 0 0 176 0 0 0 0 0 0 0 0 0 0 0 rd ex mr mw me sd ld-2.28.so 7f32a7c93000 rw-p 00000000 00:00 0 20 4 4 16 16 0 0 0 16 16 16 0 0 0 0 0 0 0 0 0 0 rd wr mr mw me ac sd 7f32a7c9b000 r--p 0002c000 00:11f 10490644 4 4 4 4 4 0 0 0 4 4 4 0 0 0 0 0 0 0 0 0 0 rd mr mw me ac sd ld-2.28.so 7f32a7c9c000 rw-p 0002d000 00:11f 10490644 8 4 4 8 8 0 0 0 8 8 8 0 0 0 0 0 0 0 0 0 0 rd wr mr mw me ac sd ld-2.28.so 7ffc76130000 rw-p 00000000 00:00 0 132 4 4 116 116 0 0 0 116 108 116 0 0 0 0 0 0 0 0 0 0 rd wr mr mw me gd ac [stack] 7ffc761af000 r--p 00000000 00:00 0 16 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 rd mr pf io de dd sd [vvar] 7ffc761b3000 r-xp 00000000 00:00 0 8 4 4 8 0 8 0 0 0 8 0 0 0 0 0 0 0 0 0 0 0 rd ex mr mw me de sd [vdso] ffffffffff600000 --xp 00000000 00:00 0 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ex [vsyscall] ===== ============== =========== ==== === ============ ============ ============= ============= ========== ========= ======== ============= ============== ============= ============== =============== ==== ======= ====== =========== 12160 124 124 3280 680 2732 0 0 548 3264 548 0 0 0 0 0 0 0 0 0 0 KB
  • -XX 옵션은 커널에서 제공 받을 수 있는 모든 정보를 표현 합니다.
  • 사실 pmap은 별도의 정보를 활용하는 것이 아니며, /proc 경로에 프로세스 별로 생성 되는 메모리 정보를 담은 가상파일을 통해 파싱하여 정보를 사용자가 보기 쉽게 출력해줍니다.
[root@374d23a5fa37 ~]# cat /proc/15/maps 55ca3c000000-55ca3c108000 r-xp 00000000 00:11f 10487055 /usr/bin/bash 55ca3c307000-55ca3c30b000 r--p 00107000 00:11f 10487055 /usr/bin/bash 55ca3c30b000-55ca3c314000 rw-p 0010b000 00:11f 10487055 /usr/bin/bash 55ca3c314000-55ca3c31e000 rw-p 00000000 00:00 0 55ca3d597000-55ca3d5f3000 rw-p 00000000 00:00 0 [heap] 7f32a7066000-7f32a7071000 r-xp 00000000 00:11f 10490867 /usr/lib64/libnss_files-2.28.so 7f32a7071000-7f32a7271000 ---p 0000b000 00:11f 10490867 /usr/lib64/libnss_files-2.28.so 7f32a7271000-7f32a7272000 r--p 0000b000 00:11f 10490867 /usr/lib64/libnss_files-2.28.so 7f32a7272000-7f32a7273000 rw-p 0000c000 00:11f 10490867 /usr/lib64/libnss_files-2.28.so 7f32a7273000-7f32a7279000 rw-p 00000000 00:00 0 7f32a7279000-7f32a7435000 r-xp 00000000 00:11f 10490670 /usr/lib64/libc-2.28.so 7f32a7435000-7f32a7634000 ---p 001bc000 00:11f 10490670 /usr/lib64/libc-2.28.so 7f32a7634000-7f32a7638000 r--p 001bb000 00:11f 10490670 /usr/lib64/libc-2.28.so 7f32a7638000-7f32a763a000 rw-p 001bf000 00:11f 10490670 /usr/lib64/libc-2.28.so 7f32a763a000-7f32a763e000 rw-p 00000000 00:00 0 7f32a763e000-7f32a7641000 r-xp 00000000 00:11f 10490696 /usr/lib64/libdl-2.28.so 7f32a7641000-7f32a7840000 ---p 00003000 00:11f 10490696 /usr/lib64/libdl-2.28.so 7f32a7840000-7f32a7841000 r--p 00002000 00:11f 10490696 /usr/lib64/libdl-2.28.so 7f32a7841000-7f32a7842000 rw-p 00003000 00:11f 10490696 /usr/lib64/libdl-2.28.so 7f32a7842000-7f32a786b000 r-xp 00000000 00:11f 10490958 /usr/lib64/libtinfo.so.6.1 7f32a786b000-7f32a7a6a000 ---p 00029000 00:11f 10490958 /usr/lib64/libtinfo.so.6.1 7f32a7a6a000-7f32a7a6e000 r--p 00028000 00:11f 10490958 /usr/lib64/libtinfo.so.6.1 7f32a7a6e000-7f32a7a6f000 rw-p 0002c000 00:11f 10490958 /usr/lib64/libtinfo.so.6.1 7f32a7a6f000-7f32a7a9b000 r-xp 00000000 00:11f 10490644 /usr/lib64/ld-2.28.so 7f32a7c93000-7f32a7c98000 rw-p 00000000 00:00 0 7f32a7c9b000-7f32a7c9c000 r--p 0002c000 00:11f 10490644 /usr/lib64/ld-2.28.so 7f32a7c9c000-7f32a7c9e000 rw-p 0002d000 00:11f 10490644 /usr/lib64/ld-2.28.so 7ffc76130000-7ffc76151000 rw-p 00000000 00:00 0 [stack] 7ffc761af000-7ffc761b3000 r--p 00000000 00:00 0 [vvar] 7ffc761b3000-7ffc761b5000 r-xp 00000000 00:00 0 [vdso] ffffffffff600000-ffffffffff601000 --xp 00000000 00:00 0 [vsyscall]
  • maps 가상 파일에 담긴 메모리 주소 별 메모리 용량 그리고 점유하고 있는 라이브러리 또는 메모리 유형 정보를 확인할 수 있습니다.
[root@374d23a5fa37 ~]# cat /proc/15/smaps 55ca3c000000-55ca3c108000 r-xp 00000000 00:11f 10487055 /usr/bin/bash Size: 1056 kB KernelPageSize: 4 kB MMUPageSize: 4 kB Rss: 956 kB Pss: 68 kB Shared_Clean: 956 kB Shared_Dirty: 0 kB Private_Clean: 0 kB Private_Dirty: 0 kB Referenced: 956 kB Anonymous: 0 kB LazyFree: 0 kB AnonHugePages: 0 kB ShmemPmdMapped: 0 kB FilePmdMapped: 0 kB Shared_Hugetlb: 0 kB Private_Hugetlb: 0 kB Swap: 0 kB SwapPss: 0 kB Locked: 0 kB THPeligible: 0 VmFlags: rd ex mr mw me sd 55ca3c307000-55ca3c30b000 r--p 00107000 00:11f 10487055 /usr/bin/bash Size: 16 kB KernelPageSize: 4 kB MMUPageSize: 4 kB Rss: 16 kB Pss: 16 kB Shared_Clean: 0 kB Shared_Dirty: 0 kB Private_Clean: 0 kB Private_Dirty: 16 kB Referenced: 16 kB Anonymous: 16 kB LazyFree: 0 kB AnonHugePages: 0 kB ShmemPmdMapped: 0 kB FilePmdMapped: 0 kB Shared_Hugetlb: 0 kB Private_Hugetlb: 0 kB Swap: 0 kB SwapPss: 0 kB Locked: 0 kB THPeligible: 0 VmFlags: rd mr mw me ac sd 55ca3c30b000-55ca3c314000 rw-p 0010b000 00:11f 10487055 /usr/bin/bash Size: 36 kB KernelPageSize: 4 kB MMUPageSize: 4 kB Rss: 36 kB Pss: 36 kB Shared_Clean: 0 kB Shared_Dirty: 0 kB Private_Clean: 0 kB Private_Dirty: 36 kB Referenced: 36 kB Anonymous: 36 kB LazyFree: 0 kB AnonHugePages: 0 kB ShmemPmdMapped: 0 kB FilePmdMapped: 0 kB Shared_Hugetlb: 0 kB Private_Hugetlb: 0 kB Swap: 0 kB SwapPss: 0 kB Locked: 0 kB THPeligible: 0 VmFlags: rd wr mr mw me ac sd 55ca3c314000-55ca3c31e000 rw-p 00000000 00:00 0 Size: 40 kB KernelPageSize: 4 kB MMUPageSize: 4 kB Rss: 28 kB Pss: 28 kB Shared_Clean: 0 kB Shared_Dirty: 0 kB Private_Clean: 0 kB Private_Dirty: 28 kB Referenced: 28 kB Anonymous: 28 kB LazyFree: 0 kB AnonHugePages: 0 kB ShmemPmdMapped: 0 kB FilePmdMapped: 0 kB Shared_Hugetlb: 0 kB Private_Hugetlb: 0 kB Swap: 0 kB SwapPss: 0 kB Locked: 0 kB THPeligible: 0
  • smaps 파일은 maps 파일에서 표현된 메모리 주소별 상세 메모리 사용량을 표현해줍니다.
  • 즉, 메모리 사용량에 따른 사용 종류도 다양한대 이러한 정보를 표현해줍니다.
[root@374d23a5fa37 ~]# grep "Swap:" /proc/15/smaps Swap: 0 kB Swap: 0 kB Swap: 0 kB Swap: 0 kB Swap: 0 kB Swap: 0 kB Swap: 0 kB Swap: 0 kB Swap: 0 kB Swap: 0 kB Swap: 0 kB Swap: 0 kB Swap: 0 kB Swap: 0 kB Swap: 0 kB Swap: 0 kB Swap: 0 kB Swap: 0 kB Swap: 0 kB Swap: 0 kB Swap: 0 kB Swap: 0 kB Swap: 0 kB Swap: 0 kB Swap: 0 kB Swap: 0 kB Swap: 0 kB Swap: 0 kB Swap: 0 kB Swap: 0 kB Swap: 0 kB
  • smaps 파일에서 어떠한 프로세스가 스왑 메모리를 사용하는지 확인할 수도 있고 제공되는 값들을 통해 다양하게 사용할 수 있습니다.

 

 

728x90
반응형

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.