久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Linux中怎么用smem查看內存占用情況

165次閱讀
沒有評論

共計 4294 個字符,預計需要花費 11 分鐘才能閱讀完成。

丸趣 TV 小編給大家分享一下 Linux 中怎么用 smem 查看內存占用情況,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

無論是作為系統管理員,還是作為使用桌面版 Linux 的簡單用戶,你都會注意到,某個進程在耗用你系統的所有內存。

首先要明白 Linux 是如何管理內存的;我多次接到用戶的反映,說運行了 free 命令,就是無法適當讀取輸出。簡而言之,如果是 Linux 內核,不用擔心;內核在耗用內存,緩存文件呢。

放心,Linux 內核開發人員比你我更有能力找到一種優秀的算法來緩存文件,并且當某個進程需要時,釋放該內存區域,所以千萬不要讓我把運行諸如這種命令的某個任務放入計劃任務(cron):

echo 3   /proc/sys/vm/drop_caches

當然,之后,你會在系統上有更多的可用閑置內存,但是系統不得不從磁盤重新讀取所有文件,所以就性能而言,這通常是一個糟糕的舉措:

但現在我們不妨看一個小巧的程序,它可以幫助我們找到哪些進程 / 用戶在大量耗用我們系統的內存。

smem 這個工具可以提供 Linux 系統上內存耗用情況方面的眾多報告。與現有的工具不一樣,smem 可以報告實際使用的物理內存(PSS),這是一種更有意義的指標,可以衡量虛擬內存系統中的庫和應用程序所占用的內存數量。

由于大部分的物理內存通常在多個應用程序之間共享,名為實際使用物理內存(RSS)的這個標準的內存耗用衡量指標會大大高估內存耗用情況。PSS 這個參數而是衡量了每個應用程序在每個共享內存區中的“公平分配”,給出了一個切合實際的衡量指標。

smem 有許多功能特性:

系統概況列表

按進程、映射和用戶列表

按用戶、映射或用戶過濾

來自多個數據源的可配置列

可配置的輸出單位和百分比

可配置的標題和總和

從 /proc 讀取活動數據

從目錄鏡像或經過壓縮的打包文件讀取數據快照

面向嵌入式系統的輕型捕獲工具

內置的圖表生成功能

安裝

如果你使用 Debian、Ubuntu 或 Mint,可以使用下面這個命令,直接從官方軟件庫安裝 smem:

$ sudo apt-get install smem

Arch Linux 用戶可以從 Arch 用戶軟件庫(AUR,https://www.archlinux.org/packages/community/i686/smem/)安裝程序包。

Red Hat / Fedora / CentOS / SuSE 用戶可以使用直接從官方網站下載的預編譯二進制代碼。為了方便起見,你可以拷貝剪貼這些命令,這些命令會將命令 smen 放入到你的 /usr/local/bin 文件夾:

cd /tmp/ wget http://www.selenic.com/smem/download/smem-1.3.tar.gz tar xvf smem-1.3.tar.gz sudo cp /tmp/smem-1.3/smem /usr/local/bin/ sudo chmod +x /usr/local/bin/smem

基本用法

smem 可報告物理內存使用情況,并且考慮到共享的內存頁面。非共享內存被報告為進程獨自占用的物理內存(USS)。共享內存在共享該內存的多個進程之間平均分配。非共享內存(USS)以及進程的共享內存比例被報告為實際使用的物理內存(PSS)。USS 和 PSS 只包含物理內存使用情況。它們并不包含已經被置換到磁盤上的內存。

基本用法會顯示運行中進程以及所用的內存數量;想看看這方面的情況,運行不帶任何選項的命令 smem,這會得出類似下面這樣的輸出:

# smem
 PID User Command Swap USS PSS RSS
.... 4223 linuxaria /usr/lib/chromium-browser/c 0 9144 11696 29132 14280 root python ./smem 0 11580 11839 13680 
 2180 linuxaria /usr/bin/python /usr/share/ 0 12956 14691 24392 
 2144 linuxaria python /usr/lib/linuxmint/m 0 20252 22337 35648 
 2121 linuxaria Thunar --daemon 0 13316 23122 44404 
 2123 linuxaria xfdesktop 0 24004 24924 36032 13095 linuxaria /usr/lib/chromium-browser/c 0 27536 30996 53328 
 2577 linuxaria /usr/bin/python /usr/lib/ub 0 34192 35112 41300 
 2127 linuxaria /home/riccio/copy/x86_64/Co 0 40268 41081 52248 10720 linuxaria /usr/lib/chromium-browser/c 0 38684 42107 63928 10561 linuxaria /usr/lib/chromium-browser/c 0 43956 48137 71644 10579 linuxaria /usr/lib/chromium-browser/c 0 46276 50290 73484 
 5605 linuxaria transmission-gtk /tmp/[kick 0 48616 51508 65148 
 8938 linuxaria /usr/lib/firefox/plugin-con 0 48960 55428 71132 
 2186 linuxaria /home/linuxaria/.dropbox-dist/ 0 55524 56061 64820 
 1722 root /usr/bin/X :0 -audit 0 -aut 0 52360 73110 96008 10623 linuxaria /usr/lib/chromium-browser/c 0 114224 121888 149236 
 4171 linuxaria chromium-browser --disable- 0 131044 140415 165780 
 7050 linuxaria /usr/lib/thunderbird/thunde 0 253428 256803 273152 
 2644 linuxaria /usr/lib/firefox/firefox 0 528420 537423 558992

所以在該示例(我的桌面)中,耗用較多內存的進程是 Firefox,占用內存第二多的是 Thunderbird。

- u 是一個有用的選項,它顯示了每個用戶所耗用的內存總量:

#smem -uUser Count Swap USS PSS RSS 
daemon 1 0 196 197 368 rtkit 1 0 300 312 1396 nobody 1 0 428 442 1600 mdm 2 0 600 695 1808 avahi 2 0 568 806 2420 syslog 1 0 1032 1043 1884 messagebus 1 0 1124 1207 2048 root 40 0 96568 123002 203372 linuxaria 83 0 1539864 1640378 2222556

可以為該命令添加 -p,顯示百分比數值:

#smem -u -pUser Count Swap USS PSS RSS 
daemon 1 0.00% 0.00% 0.00% 0.00% rtkit 1 0.00% 0.00% 0.00% 0.02% nobody 1 0.00% 0.01% 0.01% 0.02% mdm 2 0.00% 0.01% 0.01% 0.02% avahi 2 0.00% 0.01% 0.01% 0.03% syslog 1 0.00% 0.01% 0.01% 0.02% messagebus 1 0.00% 0.01% 0.01% 0.03% root 40 0.00% 1.18% 1.47% 2.41% linuxaria 83 0.00% 19.29% 20.48% 27.58%

或者,如果你更想看到整個系統的內存使用情況,則可以使用 - w 選項:

#smem -w -pArea Used Cache Noncache 
firmware/hardware 0.00% 0.00% 0.00% kernel image 0.00% 0.00% 0.00% kernel dynamic memory 64.55% 62.42% 2.13% userspace memory 22.12% 3.00% 19.12% free memory 13.33% 13.33% 0.00%

說到 -w,我建議另外使用選項 -R REALMEM,這個值是指物理內存數量。這讓 smem 可以在整個系統(-w)的輸出中發現固件 / 硬件所耗用的內存數量。如果提供該選項,它還可以用作百分比所用到的總內存大小。

#smem -R 8G -w -pArea Used Cache Noncache 
firmware/hardware 2.83% 0.00% 2.83% kernel image 0.00% 0.00% 0.00% kernel dynamic memory 63.02% 60.95% 2.07% userspace memory 21.60% 2.91% 18.68% free memory 12.56% 12.56% 0.00%

借助 smen,以圖形顯示 linux 內存

如果借助 smem(又擁有 matplotlib 庫),只要再借助幾個選項,就可以生成條形圖和餅形圖。

顯示帶“pss”和“uss”這兩列的條形圖:

#smem --bar pid -c  pss uss

創建餅形圖,顯示在運行系統上以“k”開頭的進程:

#smem -P  ^k  --pie=name

以上是“Linux 中怎么用 smem 查看內存占用情況”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注丸趣 TV 行業資訊頻道!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-25發表,共計4294字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 明光市| 新兴县| 泽普县| 富源县| 子长县| 五家渠市| 阿拉尔市| 定边县| 安宁市| 上虞市| 博乐市| 信丰县| 仁布县| 铜鼓县| 谢通门县| 偃师市| 蓬安县| 磴口县| 颍上县| 湘乡市| 江安县| 高陵县| 合作市| 屏东县| 旅游| 方正县| 绍兴县| 屯留县| 双辽市| 河东区| 赤峰市| 涿鹿县| 囊谦县| 鹤庆县| 尤溪县| 青海省| 增城市| 土默特左旗| 呼伦贝尔市| 富源县| 集贤县|