iT邦幫忙

7

Linux連載 10 使用smem來查看記憶體及Swap使用情形

傳統的一些指令,並未把個別Process使用swap情況,比較明確
的顯示出來.
例如這個討論裡面 http://ithelp.ithome.com.tw/question/10144637?tab=opinion&oid=257392#257392
有提到.
所以現在有人開發出smem,可以比較方便的看出哪個Process的記憶體使用情況.
因為是比較新的程式,所以大多的Linux發行版,並未包含.
所以我們需要自己抓來用.

-- 安裝
wget http://www.selenic.com/smem/download/smem-1.4.tar.gz

tar xvf smem-1.4.tar.gz

cd smem-1.4

cp smem /usr/local/bin/

這樣就能使用了.
接著裝man文件.
cp smem.8 /usr/share/man/man8/

-- 使用

smem 這是最基本的,會回報現在執行的process的PID,User,Command, Swap,USS, PSS, RSS

smem -m 顯示library 使用的情況,這對要深入了解,很有用處.

smem -u 以user來區分作總計.

smem -t -p  -p 使用百分比方式顯示, -t 最後作加總.

smem有直接提供過濾功能,不需要像ps 那樣後面再利用pipe 接grep
例如

smem -P [fF]irefox

若是有使用XWindow, smem 也能夠產生簡易的圖形報表.因為是使用Python的matplotlib,所以必須要安裝Python及matplotlib.

smem --bar name -c "swap pss rss"

這樣會產生個process的swap,pss,rss使用情況的 bar chart.

smem --pie name -c "pss"

產生各個process的pss使用情況的pie chart.

smem 另外有提供smemcap,用來統計/proc底下的資訊,
可以應用在資源較少的Linux設備.收集後的資訊會壓縮成
tar.gz的檔案,再傳到比較大的Linux上,使用smem來產生
報表.

補充說明,matplotlib產生出來的視窗,有互動的按鈕在底下,
可以視需要調整,並且可以存檔,有多種格式可以使用.


1 則留言

0
老鷹(eagle)
iT邦高手 1 級 ‧ 2014-01-13 11:16:08

很糟糕...
記憶體被兵種佔滿了
噴鼻血

我要留言

立即登入留言