歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux服務器

Memstat -- 查看共享庫的內存占用

我們可以用 top 或者 系統管理器 這樣的工具來查看各個進程的內存占用,不過內存中不光有你運行的進程,還駐留著進程需要的共享庫,比如最基本的 libc.so。這些共享庫在物理內存上只存在一份拷貝,而被多個進程共享。我們在 top 中查看進程信息的時候,會有 RSS 和 VSZ 兩個項目,前者是進程本身的內存占用,而後者是算上共享庫的總占用。

    Memstat 這個小程序可以幫你查看每個共享庫的內存占用,讓他們現形。

    直接運行 memstat -w 即可列出當前所有共享庫的信息:

     memstat -w


    如果不加 -w 參數,memstat 會把過長的信息截斷到 80 列。效果

Memstat -- 查看共享庫的內存占用 

    第一列為內存占用,隨後是共享庫的完整路徑,最後的數字是使用這個共享庫進程的 PID,可以看到,不少共享庫後面有很多 PID,表示這個共享庫被多個進程所共享。

    你可以在 /etc/memstat.conf 中配置執行文件的目錄,memstat 只會調查這些目錄下的可執行文件共享庫信息。

    如果你想查看那個共享庫占用的內存最多,只需要用 sort 過濾一下:

     memstat -w | sort -rn

    即可~

    Memstat 在 Debian 和 Ubuntu 中都有,不過我沒找到他的主頁,如果你的軟件倉庫中沒有 memstat,可以在本地下載,這個包是通過 deb2targz 轉過來的

Copyright © Linux教程網 All Rights Reserved