CentOS下top命令的使用
top命令
第一行和uptime命令一樣,都有系統的負載。
10:36:19 目前時間
up 1day ,7min 系統已耗用時間,格式為天 時:分
1 user 當前登入使用者數
load average: 0.00, 0.00, 0.00 系統負載,即任務隊列的平均長度。
三個數值分別為 1分鐘、5分鐘、15分鐘前到現在的平均值。
第二行是指進程的狀態。
Tasks: 84 total 進程總數
1 running 正在啟動並執行進程數
83 sleeping 睡眠的進程數
0 stopped 停止的進程數
0 zombie 殭屍進程數
第三行是指cpu各個狀態的百分比
us是使用者cpu時間百分比 sy是系統cpu時間百分比 ni是優雅cpu時間百分比 id是cpu空閑時間百分比 wa是I/O等待時間百分比 hi是硬體停機時間百分比 st是流逝的時間百分比(運行虛擬機器時,執行其他任務的時間百分比)
系統的空閑時間和cpu數、系統負載有關。比如4個cpu,系統負載為1.70,系統就有超過50%的空閑時間
排除故障,當一個系統運行緩慢,首先要觀察的度量指標是I/O等待時間(wa),它可以用來排除磁碟I/O的問題。
如果I/O等待時間很低,那麼可以查看CPU空閑時間百分比(id)。
如果I/O等待時間很高,那麼下一步就是確定是什麼因素導致I/O等待時間所佔的比重這麼高。
如果I/O等待和CPU空閑時間百分比都很低,那麼很有可能會看到一個非常高的使用者時間百分比,所以你必須確定是什麼原因導致這麼高的使用者時間百分比。
如果I/O等待時間所佔的百分比很低,而空閑時間百分比很高,那麼你就知道系統運行緩慢不是CPU資源的原因,而應該從別的地方找原因。(有可能是網路問題,web伺服器問題,mysql查詢緩慢的問題)。
第四行是記憶體的使用狀況
Mem: 1922432k total 實體記憶體總量
1825816k used 使用的實體記憶體總量
96616k free 空閑記憶體總量
36028k buffers 用作核心緩衝的記憶體量
第五行是指swap的使用狀況
Swap: 4194296k total 交換區總量
152524k used 使用的交換區總量
4041772k free 空閑交換區總量
53564k cached 緩衝的交換區總量。
如果你想要殺死一個進程,只要按下K按鍵,然後輸入想要終止的PID,最後當系統提示該進程將會終止於signal 15時,按下Enter鍵就可以殺死進程。
top命令
top -b -n 1 其中-b是指開啟批處理模式(不是很懂,感覺就是把所有的進程都顯示出來,不像直接top只顯示一頁),-n 1指重新整理的次數為1 ,當重新整理完後就會退出top
top -b -n 1 > top-out 把輸出重新定向到top-out檔案
top -b -n 1|tee top-output 既輸出到螢幕又重新定向到top-output檔案。(tee命令具有既輸出到螢幕,又可以重新導向到檔案的作用)