成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linux終端:用smem查看內存占用情況

譯文
系統 Linux
無論是作為系統管理員,還是作為使用桌面版Linux的簡單用戶,你都會注意到,某個進程在耗用你系統的所有內存。但現在我們不妨看一個小巧的程序,它可以幫助我們找到哪些進程/用戶在大量耗用我們系統的內存。

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

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

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

  1. echo 3 > /proc/sys/vm/drop_caches  

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

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

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

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

smem有許多功能特性:

  • 系統概況列表
  • 按進程、映射和用戶列表
  • 按用戶、映射或用戶過濾
  • 來自多個數據源的可配置列
  • 可配置的輸出單位和百分比
  • 可配置的標題和總和
  • 從/proc讀取活動數據
  • 從目錄鏡像或經過壓縮的打包文件讀取數據快照
  • 面向嵌入式系統的輕型捕獲工具
  • 內置的圖表生成功能

安裝

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

  1. $ 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文件夾:

  1. cd /tmp/ 
  2. wget http://www.selenic.com/smem/download/smem-1.3.tar.gz 
  3. tar xvf smem-1.3.tar.gz 
  4. sudo cp /tmp/smem-1.3/smem /usr/local/bin/ 
  5. 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 -u
User     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 -p
User     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 -p
Area                           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 -p
Area                           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”這兩列的條形圖:

  1. #smem --bar pid -c "pss uss"  

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

  1. #smem -P '^k' --pie=name 

結束語

smem是一款易于使用的工具,你在尋找大量耗用內存的進程時,它可以輕松給出一些有用信息,而且很容易以圖形來顯示,那樣你就能聯系用戶,勸說他們在內存方面需要合理使用。


原文鏈接:http://linuxaria.com/pills/linux-terminal-check-who-uses-all-your-memory-with-smem?lang=en

原文標題:Linux Terminal: Check who uses all your memory with smem

責任編輯:奔跑的冰淇淋 來源: 51CTO.com
相關推薦

2012-05-02 14:22:55

端口占用

2019-07-31 07:26:16

Linux服務器CPU

2010-02-03 17:16:58

Linux內存使用

2022-09-26 09:44:10

Linux

2010-06-02 11:06:15

Linux 內存監控

2022-02-11 07:45:10

Linuxsmem系統

2017-01-18 21:57:14

2019-06-24 08:53:01

Bash腳本Linux系統運維

2023-02-06 08:23:22

ChatGPT系統Linux

2021-10-25 10:33:26

smem 命令Linux

2020-02-04 13:50:09

Linux進程內存使用

2010-09-26 12:45:29

2017-01-12 09:31:07

Windows端口進程

2017-06-27 10:23:01

Linuxps_memPython

2021-03-25 12:50:31

Linux磁盤命令

2022-04-05 14:13:56

Linux端口系統

2011-09-02 10:42:30

linuxfree內存

2018-11-01 10:59:52

Linux內存進程

2021-11-29 20:44:31

Linux內存進程

2010-06-02 12:47:12

Linux 內存監控
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品一二三| 婷婷一级片 | 伊人久久免费 | 日本一区视频在线观看 | a看片| 一区二区三区不卡视频 | 色性av| 亚洲天堂久久 | 国产精品视频一区二区三区四蜜臂 | 日韩中文字幕一区 | 男人天堂视频在线观看 | 一级在线毛片 | 日日干干 | 国产精品一二区 | 欧美综合在线视频 | 中文字幕精品视频在线观看 | www.887色视频免费 | av资源在线看 | 国产三级| 国产日韩欧美一区二区 | 久久大 | 在线色网 | 91精品久久久久久久久久入口 | 国产精品久久 | 一级片视频免费 | 天天碰夜夜操 | 亚洲+变态+欧美+另类+精品 | 欧区一欧区二欧区三免费 | 欧美成人在线免费 | 综合久久亚洲 | 日本午夜精品一区二区三区 | 中文字幕亚洲视频 | 欧美一级二级视频 | 又黑又粗又长的欧美一区 | 成人在线观看免费 | 91xxx在线观看 | 久久av网站| 色综合天天天天做夜夜夜夜做 | 国产精品久久午夜夜伦鲁鲁 | 91看片网| 999久久久久久久久 国产欧美在线观看 |