【Linux】Linux-pmapコマンドを一歩一歩学ぶ(145)

6056 ワード

00.目次
文書ディレクトリ
  • 00. ディレクトリ
  • 01. コマンド概要
  • 02. コマンドフォーマット
  • 03. 共通オプション
  • 04. 参考例
  • 05. 付録
  • 01.コマンドの概要
    pmapコマンドは、プロセスのメモリマッピング関係をレポートするために使用され、Linuxのデバッグとメンテナンスに良いツールです.
    02.コマンドフォーマット
     pmap [  ]     [...]
    

    03.一般的なオプション
    -x:      
    -d:      
    -q:      
    -V:      
    

    04.参考例
    拡張フォーマットとデバイスフォーマットドメイン
    Address:  start address of map        
    Kbytes:  size of map in kilobytes      
    RSS:  resident set size in kilobytes       
    Dirty:  dirty pages (both shared and private) in kilobytes      
    Mode:  permissions on map     : r=read, w=write, x=execute, s=shared, p=private (copy on write)  
    Mapping:  file backing the map , or '[ anon ]' for allocated memory, or '[ stack ]' for the program stack.        ,[anon]       [stack]     
    Offset:  offset into the file      
    Device:  device name (major:minor)     
    

    4.1プロセス1のデバイスフォーマットの表示
    [root@localhost ~]# pmap -d 1
    1:   /usr/lib/systemd/systemd --switched-root --system --deserialize 22
    Address           Kbytes Mode  Offset           Device    Mapping
    0000558b9e31a000    1408 r-x-- 0000000000000000 008:00003 systemd
    0000558b9e679000     140 r---- 000000000015f000 008:00003 systemd
    0000558b9e69c000       4 rw--- 0000000000182000 008:00003 systemd
    0000558b9f184000    1292 rw--- 0000000000000000 000:00000   [ anon ]
    00007effac000000     164 rw--- 0000000000000000 000:00000   [ anon ]
    00007effac029000   65372 ----- 0000000000000000 000:00000   [ anon ]
    00007effb4000000     164 rw--- 0000000000000000 000:00000   [ anon ]
    00007effb4029000   65372 ----- 0000000000000000 000:00000   [ anon ]
    

    4.2プロセス1のデバイスフォーマットを表示し、末尾行を表示しない
    [root@localhost ~]# pmap -d -q 1
    1:   /usr/lib/systemd/systemd --switched-root --system --deserialize 22
    0000558b9e31a000    1408 r-x-- 0000000000000000 008:00003 systemd
    0000558b9e679000     140 r---- 000000000015f000 008:00003 systemd
    0000558b9e69c000       4 rw--- 0000000000182000 008:00003 systemd
    0000558b9f184000    1292 rw--- 0000000000000000 000:00000   [ anon ]
    00007effac000000     164 rw--- 0000000000000000 000:00000   [ anon ]
    00007effac029000   65372 ----- 0000000000000000 000:00000   [ anon ]
    00007effb4000000     164 rw--- 0000000000000000 000:00000   [ anon ]
    

    4.3プロセス1の拡張フォーマットの表示
    [root@localhost ~]# pmap -x 1 
    1:   /usr/lib/systemd/systemd --switched-root --system --deserialize 22
    Address           Kbytes     RSS   Dirty Mode  Mapping
    0000558b9e31a000    1408     952       0 r-x-- systemd
    0000558b9e679000     140     132     132 r---- systemd
    0000558b9e69c000       4       4       4 rw--- systemd
    0000558b9f184000    1292    1100    1100 rw---   [ anon ]
    00007effac000000     164      12      12 rw---   [ anon ]
    00007effac029000   65372       0       0 -----   [ anon ]
    

    4.4循環表示プロセス666のデバイスフォーマットの最後の1行、間隔1秒
    [root@localhost ~]# while true; do pmap -d 666 |tail -1;sleep 1;done
    mapped: 115304K    writeable/private: 416K    shared: 28K
    mapped: 115304K    writeable/private: 416K    shared: 28K
    mapped: 115304K    writeable/private: 416K    shared: 28K
    mapped: 115304K    writeable/private: 416K    shared: 28K
    mapped: 115304K    writeable/private: 416K    shared: 28K
    mapped: 115304K    writeable/private: 416K    shared: 28K
    mapped: 115304K    writeable/private: 416K    shared: 28K
    mapped: 115304K    writeable/private: 416K    shared: 28K
    

    05.付録
    参考:【Linux】一歩一歩Linuxシリーズチュートリアルのまとめ