佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > 在Linux中可視化顯示內(nèi)存占用情況的方法

在Linux中可視化顯示內(nèi)存占用情況的方法

熱門標(biāo)簽:外呼系統(tǒng) 服務(wù)器配置 電話機器人搭建 家政服務(wù)網(wǎng)絡(luò) 解決方案 硅谷的囚徒呼叫中心 百度競價點擊價格的計算公式 美團(tuán)

物理內(nèi)存不足對Linux桌面系統(tǒng)和服務(wù)器系統(tǒng)的性能影響都很大。當(dāng)你的計算機變慢時,要做的第一件事就是釋放內(nèi)存。尤其是在多用戶環(huán)境以及執(zhí)行關(guān)鍵任務(wù)的服務(wù)器環(huán)境下,內(nèi)存消耗會變得更加關(guān)鍵,因為多個用戶和應(yīng)用線程會同時競爭更多的內(nèi)存空間。
如果要監(jiān)測系統(tǒng)內(nèi)各種資源的使用情況(比如說CPU或內(nèi)存),圖形化顯示是一種高效的方法,通過圖形界面可以快速分析各用戶和進(jìn)程的資源消耗情況。本教程將給大家介紹在linux下圖形化分析內(nèi)存使用情況的方法,使用到命令行工具是smem.
物理內(nèi)存使用情況: RSS 、 PSS 和 USS

由于Linux使用到了虛擬內(nèi)存(virtual memory),因此要準(zhǔn)確的計算一個進(jìn)程實際使用的物理內(nèi)存就不是那么簡單。 只知道進(jìn)程的虛擬內(nèi)存大小也并沒有太大的用處,因為還是無法獲取到實際分配的物理內(nèi)存大小。

  •     RSS(Resident set size),使用top命令可以查詢到,是最常用的內(nèi)存指標(biāo),表示進(jìn)程占用的物理內(nèi)存大小。但是,將各進(jìn)程的RSS值相加,通常會超出整個系統(tǒng)的內(nèi)存消耗,這是因為RSS中包含了各進(jìn)程間共享的內(nèi)存。
        PSS(Proportional set size)會更準(zhǔn)確一些,它將共享內(nèi)存的大小進(jìn)行平均后,再分?jǐn)偟礁鬟M(jìn)程上去。
        USS(Unique set size )是PSS中自己的部分,它只計算了進(jìn)程獨自占用的內(nèi)存大小,不包含任何共享的部分。

安裝Smem

smem是一個能夠生成多種內(nèi)存耗用報告的命令行工具,它從/proc文件系統(tǒng)中提取各進(jìn)程的PSS/USS信息,并進(jìn)行匯總輸出。它還內(nèi)建了圖表的生成能力,所以能夠方便地分析整個系統(tǒng)的內(nèi)存使用情況。
在Debian, Ubuntu 或 Linux Mint 上安裝smem

   

復(fù)制代碼
代碼如下:
$ sudo apt-get install smem

在Fedora 或 CentOS/RHEL上安裝Smem

在CentOS/RHEL上,你首先得啟用EPEL倉庫。

   

復(fù)制代碼
代碼如下:
$ sudo yum install smem python-matplotlib

使用smem檢查內(nèi)存使用情況

你可以在非特權(quán)模式下使用smem,它能夠顯示當(dāng)前用戶運行的所有進(jìn)程的內(nèi)存使用情況,并按照PSS的大小進(jìn)行排序。

   

復(fù)制代碼
代碼如下:
$ smem

    

    如有你想得到整個系統(tǒng)中所有用戶的內(nèi)存使用情況,就需要使用root權(quán)限來運行smem。

   

復(fù)制代碼
代碼如下:
$ sudo smem
 
   

    也可以按用戶維度來輸出報告:

   

復(fù)制代碼
代碼如下:
$ sudo smem -u

    

    smem提供了以下選項來對輸出結(jié)果進(jìn)行篩選,支持按映射方式(mapping)、進(jìn)程和用戶三個維度的篩選:

  •     -M 正則表達(dá)式>
        -P 正則表達(dá)式>
        -U 正則表達(dá)式>

想了解smem更多的使用方式,可以查詢用戶手冊(man page)。
使用smem圖形化顯示內(nèi)存使用情況

圖形化的報告使用起來會更加方便快捷。smem支持兩種格式的圖形顯示方式:直方圖和餅圖。

下面是一些圖形化顯示的實例。

下面的命令行會基于PSS/RSS值,生成直方圖,以用戶alice為例。

   

復(fù)制代碼
代碼如下:
$ sudo smem --bar name -c "pss uss" -U alice

這個例子會生成一張餅圖,圖中顯示了系統(tǒng)中各進(jìn)程的PSS內(nèi)存使用量:


復(fù)制代碼
代碼如下:
$ sudo smem --pie name -c "pss"

概括來說,smem是一個方便易用的內(nèi)存分析工具。利用smem的格式化輸出,你可以對內(nèi)存使用報告進(jìn)行自動化分析,并執(zhí)行一些自動化的處理措施。如果你還知道其他的一些優(yōu)秀的內(nèi)存檢測工具,請在留言區(qū)告訴我。

標(biāo)簽:北海 邢臺 臨沂 韶關(guān) 撫州 南昌 烏蘭察布 防城港

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《在Linux中可視化顯示內(nèi)存占用情況的方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    固阳县| 安阳市| 高阳县| 绥德县| 华坪县| 珲春市| 两当县| 武宣县| 驻马店市| 乃东县| 余庆县| 时尚| 靖边县| 七台河市| 纳雍县| 宽甸| 神池县| 江陵县| 盘山县| 梅河口市| 清涧县| 雷山县| 阿拉善右旗| 龙海市| 金门县| 孙吴县| 房山区| 锡林浩特市| 辽宁省| 滦平县| 天水市| 淳化县| 崇阳县| 阜新市| 大姚县| 莆田市| 西贡区| 惠东县| 独山县| 探索| 苗栗县|