1. 程式人生 > >top命令檢視伺服器效能

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.98uptime
 14:34:03 up 10:43,  4 users,  load average: 1.73 0.60 7.98

單顆CPU:

  1. 過去一分鐘內,過載 73%,就是說有73%的操作必須等待
  2. 過去五分鐘內,cpu空閒了 40%
  3. 過去十五分鐘,過載698%。

兩顆CPU:

  1. 過去一分鐘內,空閒了13%
  2. 過去五分鐘內,空閒70%
  3. 過去十五分鐘,過載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 狀態:

CPU狀態顯示 下一行顯示的是CPU狀態。 這裡顯示了不同模式下的所佔CPU時間的百分比。這些不同的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