Operation System/Unix & Linux

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

junsuyoun 2024. 3. 7. 13:23
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).

PMAP

[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
반응형