用 'top -i' 看看有多少進程處於 Running 狀態,可能系統存在內存或 I/O 瓶頸,用 free 看看系統內存使用狀況,swap 是否被佔用不少,用 iostat 看看 I/O 負載狀況...ios
還有一種辦法是 ps -ef | sort -k7 ,將進程按運行時間排序,看哪一個進程消耗的cpu時間最多。安全
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 # 查看全部安裝的軟件包網絡