它會分别計算一個程式私有記憶體總量和共享記憶體總量,并以更準确的方式給出了總的記憶體使用量。很明顯的,它将幫助大家知道系統中哪個程式正在占用更多的記憶體。
你可以通過包管理器、pip 、或直接運作 ps_mem.py 腳本等多種方式來安裝 ps_mem 工具。需要注意的是:需要有 root 權限。
另外,推薦閱讀以下記憶體工具:
<a href="http://www.2daygeek.com/free-command-to-check-memory-usage-statistics-in-linux/">free – 一個在 linux 上檢視記憶體用量統計(可用和已用)的标準工具</a>
<a href="http://www.2daygeek.com/smem-linux-memory-usage-statistics-reporting-tool/">smem – linux 記憶體報告/統計工具</a>
<a href="http://www.2daygeek.com/linux-vmstat-command-examples-tool-report-virtual-memory-statistics/">vmstat – 一個好用的用于虛拟記憶體統計的标準工具</a>
通過包管理器安裝 ps_mem
基于 rhel 的系統預設倉庫就包含 ps_mem 工具,是以我們可以簡單地通過包管理器進行安裝。
對于 rhel/centos ,使用 yum 包管理器 安裝 ps_mem 包:
$ sudo yum install ps_mem
對于fedora ,使用 dnf 包管理器 安裝 ps_mem 包:
$ sudo dnf install ps_mem
對于 arch linux ,使用 pacman 包管理器 安裝 ps_mem 包:
$ sudo pacman -s ps_mem
通過 pip 安裝 ps_mem
pip 是在 linux 上推薦使用的一種安裝 python 包的工具。可以使用 pip 指令而不是包管理器去擷取最新的版本。使用 pip 包前,請確定你的系統上已安裝過 pip 包。否則,先使用發行版本的包管理器安裝 python-pip 包。
對于基于 debian 的系統:
$ sudo apt-get install python-pip
對于基于 rhel/centos 的系統:
$ sudo yum install python-pip
對于 fedora
$ sudo dnf install python-pip
對于 opensuse
$ sudo zypper install python-pip
對于基于 arch linux 的系統:
$ sudo pacman -s python-pip
最後,在 linux 上運作 pip 工具安裝 ps_mem :
$ sudo pip install ps_mem
直接運作 ps_mem.py 腳本
我們也可以從開發者 github 頁面下載下傳檔案,并直接運作 ps_mem.py 腳本。
$ git clone https://github.com/pixelb/ps_mem.git && cd ps_mem
$ sudo python ps_mem.py
ps_mem 使用方法
不帶任何參數直接運作 ps_mem 以精确擷取每個程式的的核心記憶體使用情況。
$ sudo ps_mem
private + shared = ram used program
1.6 mib + 438.5 kib = 2.1 mib packagekitd
1.7 mib + 498.0 kib = 2.1 mib indicator-application-service
912.0 kib + 1.3 mib = 2.2 mib window-stack-bridge
2.0 mib + 350.5 kib = 2.3 mib gnome-keyring-daemon
1.8 mib + 575.0 kib = 2.3 mib whoopsie
2.4 mib + 304.5 kib = 2.7 mib systemd-journald
2.7 mib + 157.5 kib = 2.8 mib ibus-engine-simple
2.7 mib + 182.0 kib = 2.9 mib ibus-dconf
2.7 mib + 332.5 kib = 3.0 mib networkmanager
3.1 mib + 169.5 kib = 3.2 mib polkitd
1.9 mib + 1.7 mib = 3.6 mib systemd (2)
3.4 mib + 172.5 kib = 3.6 mib deja-dup-monitor
2.9 mib + 685.0 kib = 3.6 mib zeitgeist-datahub
2.9 mib + 848.0 kib = 3.7 mib python2.7
. . . . . .
222.1 mib + 9.4 mib = 231.5 mib compiz
286.2 mib + 11.8 mib = 298.0 mib firefox
---------------------------------
1.3 gib
=================================
輸出中列印出全路徑:
$ sudo ps_mem -s
3.2 mib + 951.0 kib = 4.1 mib /usr/lib/evolution/evolution-addressbook-factory
3.7 mib + 826.5 kib = 4.5 mib /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1
3.7 mib + 853.0 kib = 4.6 mib /usr/lib/unity-settings-daemon/unity-fallback-mount-helper
. . . . . .
131.9 mib + 168.0 kib = 132.1 mib /usr/sbin/mysqld
222.1 mib + 9.4 mib = 231.5 mib /usr/bin/compiz
286.2 mib + 11.8 mib = 298.1 mib /usr/lib/firefox/firefox
隻顯示特定的 pid 清單的記憶體使用情況:
$ sudo ps_mem -p 2886,4386
13.5 mib + 2.9 mib = 16.4 mib gnome-terminal-server
314.4 mib
每 n 秒列印程序記憶體。以下指令每 2 秒報告一次記憶體使用情況:
$ sudo ps_mem w 2
隻顯示記憶體總量:
$ sudo ps_mem -t1329884160
作者:2daygeek
來源:51cto