1. 程式人生 > 實用技巧 >Linux中檢視系統資源佔用情況的命令

Linux中檢視系統資源佔用情況的命令

top: 
主要引數
d:指定更新的間隔,以秒計算。
q:沒有任何延遲的更新。如果使用者有超級使用者,則top命令將會以最高的優先序執行。
c:顯示程序完整的路徑與名稱。
S:累積模式,會將己完成或消失的子行程的CPU時間累積起來。
s:安全模式。
i:不顯示任何閒置(Idle)或無用(Zombie)的行程。
n:顯示更新的次數,完成後將會退出to
顯示引數:
PID(Process ID):程序標示號。
USER:程序所有者的使用者名稱。
PR:程序的優先級別。
NI:程序的優先級別數值。
VIRT:程序佔用的虛擬記憶體值。
RES:程序佔用的實體記憶體值。
SHR:程序使用的共享記憶體值。
S:程序的狀態,其中S表示休眠,R表示正在執行,Z表示僵死狀態,N表示該程序優先值是負數。
%CPU:該程序佔用的CPU使用率。 %MEM:該程序佔用的實體記憶體和總記憶體的百分比。 TIME+:該程序啟動後佔用的總的CPU時間。 Command:程序啟動的啟動命令名稱,如果這一行顯示不下,程序會有一個完整的命令列。 top命令使用過程中,還可以使用一些互動的命令來完成其它引數的功能。這些命令是通過快捷鍵啟動的。 <空格>:立刻重新整理。 P:根據CPU使用大小進行排序。 T:根據時間、累計時間排序。 q:退出top命令。 m:切換顯示記憶體資訊。 t:切換顯示程序和CPU狀態資訊。 c:切換顯示命令名稱和完整命令列。 M:根據使用記憶體大小進行排序。 W:將當前設定寫入
~/.toprc檔案中。這是寫top配置檔案的推薦方法。
free 
1.作用
free命令用來顯示記憶體的使用情況,使用許可權是所有使用者。
2.格式
free [-b-k-m] [-o] [-s delay] [-t] [-V]
3.主要引數
-b -k -m:分別以位元組(KB、MB)為單位顯示記憶體使用情況。
-s delay:顯示每隔多少秒數來顯示一次記憶體使用情況。
-t:顯示記憶體總和列。
-o:不顯示緩衝區調節列。
uptime 
18:59:15 up 25 min, 2 users, load average: 1.23, 1.32, 1.21
現在的時間
系統開機運轉到現在經過的時間
連線的使用者數量
最近一分鐘,五分鐘和十五分鐘的系統負載
引數: 
-V 顯示版本資訊。
vmstat 
procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
0 1 24980 10792 8296 47316 5 19 205 52 1161 698 26 3 1 70
1 觀察磁碟活動情況
磁碟活動情況主要從以下幾個指標瞭解:
bi:表示從磁碟每秒讀取的塊數(blocks/s)。數字越大,表示讀磁碟的活動越多。
bo:表示每秒寫到磁碟的塊數(blocks/s)。數字越大,表示寫磁碟的活動越多。
wa:cpu等待磁碟I/O(未決的磁碟IO)的時間比例。數字越大,表示檔案系統活動阻礙cpu的情況越嚴重,因為cpu在等待慢速的磁碟系統提供資料。wa為0是最理想的。如果wa經常大於10,可能檔案系統就需要進行效能調整了。 
2 觀察cpu活動情況
vmstat比top更能反映出cpu的使用情況:
us:使用者程式使用cpu的時間比例。這個數字越大,表示使用者程序越繁忙。
sy: 系統呼叫使用cpu的時間比例。注意,NFS由於是在核心裡面執行的,所以NFS活動所佔用的cpu時間反映在sy裡面。這個數字經常很大的話,就需要注 意是否某個核心程序,比如NFS任務比較繁重。如果us和sy同時都比較大的話,就需要考慮將某些使用者程式分離到另外的伺服器上面,以免互相影響。
id:cpu空閒的時間比例。
wa:cpu等待未決的磁碟IO的時間比例。
iostat 
用於統計CPU的使用情況及tty裝置、硬碟和CD-ROM的I/0量
引數:
-c 只顯示CPU行
-d 顯示磁碟行
-k 以千位元組為單位顯示磁碟輸出
-t 在輸出中包括時間戳
-x 在輸出中包括擴充套件的磁碟指標

avg-cpu: %user %nice %sys %iowait %idle
20.25 0.18 2.61 76.39 0.57
%iowait 等待本地I/O時CPU空閒時間的百分比
%idle 未等待本地I/O時CPU空閒時間的百分比

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
hda 9.86 284.34 84.48 685407 2036
每秒傳輸數(tps)、每秒512位元組塊讀取數(Blk_read/s)、每秒512位元組塊寫入數(Blk_wrtn/s)和512位元組塊讀取(Blk_read)和寫入(Blk_wrtn)的總數量。
    系統 
  # uname -a # 檢視核心/作業系統/CPU資訊
  # head -n 1 /etc/issue # 檢視作業系統版本
  # cat /proc/cpuinfo # 檢視CPU資訊
  # hostname # 檢視計算機名
  # lspci -tv # 列出所有PCI裝置
  # lsusb -tv # 列出所有USB裝置
  # lsmod # 列出載入的核心模組
  # env # 檢視環境變數
  資源 
  # free -m # 檢視記憶體使用量和交換區使用量
  # df -h # 檢視各分割槽使用情況
  # du -sh # 檢視指定目錄的大小
  # grep MemTotal /proc/meminfo # 檢視記憶體總量
  # grep MemFree /proc/meminfo # 檢視空閒記憶體量
  # uptime # 檢視系統執行時間、使用者數、負載
  # cat /proc/loadavg # 檢視系統負載
  磁碟和分割槽 
  # mount | column -t # 檢視掛接的分割槽狀態
  # fdisk -l # 檢視所有分割槽
  # swapon -s # 檢視所有交換分割槽
  # hdparm -i /dev/hda # 檢視磁碟引數(僅適用於IDE裝置)
  # dmesg | grep IDE # 檢視啟動時IDE裝置檢測狀況
  網路 
  # ifconfig # 檢視所有網路介面的屬性
  # iptables -L # 檢視防火牆設定
  # route -n # 檢視路由表
  # netstat -lntp # 檢視所有監聽埠
  # netstat -antp # 檢視所有已經建立的連線
  # netstat -s # 檢視網路統計資訊
  程序 
  # ps -ef # 檢視所有程序
  # top # 實時顯示程序狀態
  使用者 
  # w # 檢視活動使用者
  # id # 檢視指定使用者資訊
  # last # 檢視使用者登入日誌
  # cut -d: -f1 /etc/passwd # 檢視系統所有使用者
  # cut -d: -f1 /etc/group # 檢視系統所有組
  # crontab -l # 檢視當前使用者的計劃任務
  服務 
  # chkconfig --list # 列出所有系統服務
  # chkconfig --list | grep on # 列出所有啟動的系統服務
  程式 
  # rpm -qa # 檢視所有安裝的軟體包
檢視系統資源的命令