查看Linux磁盤及內存佔用情況

查看磁盤使用情況:
df -k:以KB爲單位顯示磁盤使用量和佔用率

df -m:以Mb爲單位顯示磁盤使用量和佔用率

df –help:查看更多df命令及使用方法

 

查看內存佔用情況:
1.top

PID:當前運行進程的ID
USER:進程屬主
PR:每個進程的優先級別
NInice:反應一個進程“優先級”狀態的值,其取值範圍是-20至19,一
    共40個級別。這個值越小,表示進程”優先級”越高,而值越
    大“優先級”越低。一般會把nice值叫做靜態優先級
VIRT:進程佔用的虛擬內存
RES:進程佔用的物理內存
SHR:進程使用的共享內存
S:進程的狀態。S表示休眠,R表示正在運行,Z表示僵死狀態,N表示
  該進程優先值爲負數
%CPU:進程佔用CPU的使用率
%MEM:進程使用的物理內存和總內存的百分比
TIME+:該進程啓動後佔用的總的CPU時間,即佔用CPU使用時間的累加值。
COMMAND:進程啓動命令名稱

2.free

otal : 總計物理內存的大小。
used : 已使用多大。
free : 可用有多少。
Shared : 多個進程共享的內存總額。
Buffers/cached : 磁盤緩存的大小。
-/+ buffers/cached) :
used:已使用多大;
free:可用有多少。
注意:
(mem)的used/free與(-/+ buffers/cache) used/free的區別:
這兩者的區別在於使用的角度來看,前者是從OS(Operating Sys)的角度來看,因爲對於OS,buffers/cached 都是屬於被使用,所以他的可用內存是11737644KB,已用內存是54215352KB,
後者所指的是從應用程序角度來看,對於應用程序來說,buffers/cached 是等於可用的,因爲buffer/cached是爲了提高文件讀取的性能,當應用程序需在用到內存的時候,buffer/cached會很快地被回收。
所以從應用程序的角度來說,可用內存=系統free memory+buffers+cached。

3.cat /proc/meminfo
查看RAM使用情況最簡單的方法是通過命令:cat /proc/meminfo;
這個動態更新的虛擬文件實際上是許多其他內存相關工具(如:free / ps / top)等的組合顯示。
/proc/meminfo列出了所有你想了解的內存的使用情況。
進程的內存使用信息也可以通過命令:cat /proc//statm 、 cat /proc//status 來查看。


4.ps aux –sort -rss
ps aux: 列出目前所有的正在內存當中的程序。
a顯示終端上地所有進程,包括其他用戶地進程(有的進程沒有終端)。
-a 顯示所有終端機下執行的進程,除了階段作業領導者之外。
u  以用戶爲主的格式來顯示進程狀況。
x  顯示所有進程,不以終端機來區分。
a會包括其他用戶(否則只有用戶本身); x會包括其他終端;
aux就可以包括內存所有;


USER:該 process 屬於那個使用者賬號的
PID :該 process 的號碼
%CPU:該 process 使用掉的 CPU 資源百分比
%MEM:該 process 所佔用的物理內存百分比
VSZ :該 process 使用掉的虛擬內存量 (Kbytes)
RSS :該 process 佔用的固定的內存量 (Kbytes)
TTY :該 process 是在那個終端機上面運作,若與終端機無關,則顯示 ?,另外, tty1-tty6 是本機上面的登入者程序,若爲 pts/0 等等的,則表示爲由網絡連接進主機的程序。
STAT:該程序目前的狀態,主要的狀態有
R :該程序目前正在運作,或者是可被運作
S :該程序目前正在睡眠當中 (可說是 idle 狀態),但可被某些訊號 (signal) 喚醒。
T :該程序目前正在偵測或者是停止了
Z :該程序應該已經終止,但是其父程序卻無法正常的終止他,造成 zombie (疆屍) 程序的狀態
START:該 process 被觸發啓動的時間
TIME :該 process 實際使用 CPU 運作的時間
COMMAND:該程序的實際指令

5.vmstat -s
vmstat命令顯示實時的和平均的統計,覆蓋CPU、內存、I/O等內容。例如內存情況,不僅顯示物理內存,也統計虛擬內存。


6.gnome-shell-system-monitor-applet
Gnome-shell系統監視器gnome-shell-system-monitor-applet,是一個Gnome-shell 面板小程序,此程序用戶監視CPU佔用百分比、內存使用和SWAP使用情況,如圖通過頂部欄顯示和關閉。
此程序下載地址:https://github.com/paradoxxxzero/gnome-shell-system-monitor-applet

和其他gnome-shell擴展小程序相比,安裝可能有點困難,首先需要安裝git-core核心。
在終端輸入命令:
mkdir ~/git_projects
cd ~/git_projects
git clone git://github.com/paradoxxxzero/gnome-shell-system-monitor-applet.git
mkdir -p ~/.local/share/gnome-shell/extensions
cd ~/.local/share/gnome-shell/extensions
ln -s ~/git_projects/gnome-shell-system-monitor-applet/[email protected]
sudo cp ~/git_projects/gnome-shell-system-monitor-applet/org.gnome.shell.extensions.system-monitor.gschema.xml /usr/share/glib-2.0/schemas
cd /usr/share/glib-2.0/schemas
sudo glib-compile-schemas .
如果你使用的jhbuild編譯的gnome-shell,可能會無法工作!

7.相關知識

linux上進程有5種狀態:
1. 運行(正在運行或在運行隊列中等待)
2. 中斷(休眠中, 受阻, 在等待某個條件的形成或接受到信號)
3. 不可中斷(收到信號不喚醒和不可運行, 進程必須等待直到有中斷髮生)
4. 僵死(進程已終止, 但進程描述符存在, 直到父進程調用wait4()系統調用後釋放)
5. 停止(進程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號後停止運行運行)
ps工具標識進程的5種狀態碼:
D 不可中斷 uninterruptible sleep (usually IO)
R 運行 runnable (on run queue)
S 中斷 sleeping
T 停止 traced or stopped
Z 僵死 a defunct (”zombie”) process
注: 其它狀態還包括W(無駐留頁), <(高優先級進程), N(低優先級進程), L(內存鎖頁).
使用ps格式輸出來查看進程狀態:
ps -eo user,stat..,cmd
user 用戶名
uid 用戶號
pid 進程號
ppid 父進程號
size 內存大小, Kbytes字節.
vsize 總虛擬內存大小, bytes字節(包含code+data+stack)
share 總共享頁數
nice 進程優先級(缺省爲0, 最大爲-20)
priority(pri) 內核調度優先級
pmem 進程分享的物理內存數的百分比
trs 程序執行代碼駐留大小
rss 進程使用的總物理內存數, Kbytes字節
time 進程執行起到現在總的CPU暫用時間
stat 進程狀態
cmd(args) 執行命令的簡單格式
例子:
查看當前系統進程的uid,pid,stat,pri, 以uid號排序.
ps -eo pid,stat,pri,uid –sort uid
查看當前系統進程的user,pid,stat,rss,args, 以rss排序.
ps -eo user,pid,stat,rss,args –sort rss
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章