Linux內存管理 (26)內存相關工具


 

1. vmstat

參照《Linux CPU占用率監控工具小結-vmstat

2. memstat

memstat可以通過sudo apt install memstat安裝,安裝包括兩個文件memstat和memstat.conf。

其中memstat.conf是memstat配置文件,指定memstat檢索目錄,里面應該包括主要的bin和lib目錄。

memstat通過遍歷/proc下所有進程,然后解析內存使用情況。

通過對比可以發現,memstat不會統計內核線程的內存使用情況,同時memstat也不會統計所有設備使用的內存。

2.1 memstat使用

memstat使用很簡單:

memstat - 顯示整個系統內存使用情況。

memstat -p pid - 顯示進程pid的內存使用情況。

 

2.2 memstat解讀

下面是一嵌入式設備的memstat情況,和ps對照可以看出不顯示內核線程占用情況。

總體來看分為兩大部分:進程視角、文件視角。

# memstat
    288k: PID     1 (/bin/busybox)-----------------------------------------------------進程可執行文件內存占用
    476k: PID   147 (/usr/sbin/sshd)
    288k: PID   153 (/bin/busybox)
    288k: PID   154 (/bin/busybox)
    288k: PID   210 (/usr/bin/memstat)
    784k(    760k): /bin/busybox 1 153 154 1 153 154 1 153 154-------------------------共享庫內存占用情況
     52k(     36k): /lib/libnss_files-2.28.9000.so 147 154 147 154 147 154
     16k(      8k): /lib/libutil-2.28.9000.so 147
     36k(     28k): /lib/libcrypt-2.28.9000.so 147
   1272k(   1192k): /lib/libc-2.28.9000.so 1 147 153 154 210 1 147 153 154 2...
    156k(    116k): /lib/ld-2.28.9000.so 1 147 153 154 210 1 147 153 154 210...
     16k(      8k): /lib/libdl-2.28.9000.so 147
    708k(    696k): /usr/sbin/sshd 147
   1460k(   1364k): /usr/lib/libcrypto.so.1.0.0 147
     80k(     72k): /usr/lib/libz.so.1.2.11 147
     16k(      8k): /usr/bin/memstat 210
--------
   6224k (   4288k)

 

2.2.1 bin內存占用

依次是占用內存大小、pid號、文件路徑。

這里的大小不包括庫文件,也不包括可執行文件的text段,只是進程私有內存大小。

2.2.3 庫內存占用

依次是此文件總的分配內存、括號內是共享部分大小、然后是庫路徑、最后是使用此庫文件的進程號。

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM