top命令檢視伺服器效能
top 命令 直接在shell中打入top命令回撤即可 接下來在top執行狀態中 a)按1 ,可以檢視cpu核數 b)按m,l,t相應的知道記憶體,負載,任務的執行情況。不過預設top命令就顯示這些。 就是tom命令上面的4行。可以敲打命令試一下。 c)z更換顏色,shift+z可以設定顏色。 設定顏色介面有英文提示,現按m然後進入0-7,可以對記憶體顯示的顏色進行更換,其它對映的操作可以看shift+z后里面有提示說明。 d)shift+b表粗狀態的值,這樣更容易看。 f)'x'將排序欄位高亮顯示(縱列);'y'將執行程序高亮顯示(橫行) 通過shift+ > 活著shift+ < 來改變排序的列。 g)i 顯示空閒任務 top到底給我們展示了什麼,怎麼看系統的當前的執行效能。 1.系統執行時間和平均負載: top命令的頂部顯示與uptime命令相似的輸出。 這些欄位顯示:
- 當前時間
- 系統已執行的時間
- 當前登入使用者的數量
- 相應最近5、10和15分鐘內的平均負載。
可以使用'l'命令切換uptime的顯示。 這裡重點講下load average 平均負載
$ uptime
14:34:03 up 10:43, 4 users, load average: 1.73 0.60 7.98
uptime
14:34:03 up 10:43, 4 users, load average: 1.73 0.60 7.98
單顆CPU:
- 過去一分鐘內,過載 73%,就是說有73%的操作必須等待
- 過去五分鐘內,cpu空閒了 40%
- 過去十五分鐘,過載698%。
兩顆CPU:
- 過去一分鐘內,空閒了13%
- 過去五分鐘內,空閒70%
- 過去十五分鐘,過載350%
參考值: 如果cpu是1核的,那麼1 1 1 是最佳狀態只,超過了就是過載了。 如果cpu是2核的,那麼 2 2 2 就是最佳,超過了就是過載。 簡單演算法:用上面的1.73,0.60,7.98來算,一核的就用(1-1.73)*100/100 就是過載率了。 2.任務: 第二行顯示的是任務或者程序的總結。程序可以處於不同的狀態。這裡顯示了全部程序的數量。除此之外,還有正在執行、睡眠、停止、殭屍程序的數量(殭屍是一種程序的狀態)。這些程序概括資訊可以用't'切換顯示。 誤解:load average 在load average高的情況下分析系統瓶頸 http://elf8848.iteye.com/blog/1870730 這個時候可以順帶 1)檢視系統負載vmstat 2)檢視磁碟負載iostat 3.CPU 狀態:
- us, user: 執行(未調整優先順序的) 使用者程序的CPU時間
- sy,system: 執行核心程序的CPU時間
- ni,niced:執行已調整優先順序的使用者程序的CPU時間
- wa,IO wait: 用於等待IO完成的CPU時間
- hi:處理硬體中斷的CPU時間
- si: 處理軟體中斷的CPU時間
- st:這個虛擬機器被hypervisor偷去的CPU時間
4.記憶體使用:
接下來兩行顯示記憶體使用率,有點像'free'命令。
第一行是實體記憶體使用,第二行是虛擬記憶體使用(交換空間)。
實體記憶體顯示如下:全部可用記憶體、已使用記憶體、空閒記憶體、緩衝記憶體。
相似地:交換部分顯示的是:全部、已使用、空閒和緩衝交換空間。
Mem: 191272k total 實體記憶體總量 173656k used 使用的實體記憶體總量 17616k free 空閒記憶體總量 22052k buffers 用作核心快取的記憶體量 Swap: 192772k total 交換區總量 0k used 使用的交換區總量 192772k free 空閒交換區總量 123988k cached 緩衝的交換區總量。 記憶體中的內容被換出到交換區,而後又被換入到記憶體,但使用過的交換區尚未被覆蓋, 該數值即為這些內容已存在於記憶體中的交換區的大小。 相應的記憶體再次被換出時可不必再對交換區寫入。 記憶體顯示可以用'm'命令切換。
5.欄位 在橫向列出的系統屬性和狀態下面,是以列顯示的程序。不同的列代表下面要解釋的不同屬性。 預設上,top顯示這些關於程序的屬性: PID 程序ID,程序的唯一識別符號 USER 程序所有者的實際使用者名稱。 PR 程序的排程優先順序。這個欄位的一些值是'rt'。這意味這這些程序執行在實時態。 NI 程序的nice值(優先順序)。越小的值意味著越高的優先順序。 VIRT 程序使用的虛擬記憶體。 RES 駐留記憶體大小。駐留記憶體是任務使用的非交換實體記憶體大小。 SHR SHR是程序使用的共享記憶體。 S 這個是程序的狀態。它有以下不同的值:
- D - 不可中斷的睡眠態。
- R – 執行態
- S – 睡眠態
- T – 被跟蹤或已停止
- Z – 殭屍態
%CPU 自從上一次更新時到現在任務所使用的CPU時間百分比。 %MEM 程序使用的可用實體記憶體百分比。 TIME+ 任務啟動後到現在所使用的全部CPU時間,精確到百分之一秒。 COMMAND 執行程序所使用的命令。
參考網址: http://os.51cto.com/art/201312/423220_all.htm
https://segmentfault.com/q/1010000000141313
http://www.jb51.net/article/40807.htm
http://blog.csdn.net/zhshow/article/details/6045622