Linux中強大的top命令

image

top命令算是最直觀、好用的查看服務器負載的命令了。緩存

它實時動態刷新顯示服務器狀態信息,且能夠經過交互式命令自定義顯示內容,很是強大。服務器

在終端中輸入top,回車後會顯示以下內容:ui

1、系統信息統計

前五行是系統總體狀態的統計信息展現區域。下面分別介紹每一行中的內容:spa

`1. top - 21:48:39 up 8:57, 2 users,load average:0.36,0.24,0.14命令行

  1. Tasks:322 total,2 running,320 sleeping,0 stopped,0 zombie
  2. %Cpu(s):5.0 us,1.7 sy,0.0 ni,93.0id,0.0 wa,0.3 hi,0.0 si,0.0 st
  3. KiB Mem:1010504 total,937416 used,73088 free,23708 buffers
  4. KiB Swap:1046524 total,280708 used,765816 free.365556 cached Mem
  5. PIDUSER PR NI VIRT RES SHR S %CPU %MEMTIME+ COMMAND
  6. 8096 root2003206243850821192 S1.73.80:41.03 Xorg
  7. 13536 tabalt20069733610427256776 S1.710.30:08.29 gnome-langu+
  8. 9426 tabalt20012132287297616860 S1.07.22:07.27 compiz
  9. 197 root200000 S0.30.00:36.13 kworker/0:2
  10. 1009 root20030311233921500 S0.30.30:00.93 polkitd
  11. 9670 tabalt20032593243002256 S0.30.40:40.27 vmtoolsd
  12. 14016 root2554394024082000 S0.30.20:01.12http
  13. 14149 tabalt2005911801950412820 S0.31.90:00.45 gnome-termi+
  14. root200336481972744 S0.00.20:01.79 init
  15. root200000 S0.00.00:00.00 kthreadd
  16. root200000 S0.00.00:02.80 ksoftirqd/0
  17.  root200000 S0.00.00:00.00 kworker/0:0
  18. root0-20000 S0.00.00:00.00 kworker/0:0H
  19.  root200000 S0.00.00:05.55 rcu_sched
  20.  root200000 R0.00.00:03.43 rcuos/0
  21.  root200000 S0.00.00:00.00 rcuos/1
  22.  root200000 S0.00.00:00.00 rcuos/2`

一、第一行顯示服務器概況

以下所示,第一行列出了服務器運行了多長時間,當前有多少個用戶登陸,服務器的負荷狀況等,使用uptime命令能得到一樣的結果。code

  1. top - 21:48:39 up 8:57, 2 users,load average:0.36,0.24,0.14
  2. / / / \當前時間 運行時長 當前登陸用戶數 平均負載(1分鐘、5分鐘、15分鐘)
  3. 平均負載的值越小表明系統壓力越小,越大則表明系統壓力越大。一般,咱們會以最後一個數值,也就是15分鐘內的平均負載做爲參考來評估系統的負載狀況。

對於只有單核cpu的系統,1.0是該系統所能承受負荷的邊界值,大於1.0則有處理須要等待。 排序

一個單核cpu的系統,平均負載的合適值是0.7如下。若是負載長期徘徊在1.0,則須要考慮立刻處理了。超過1.0的負載,可能會帶來很是嚴重的後果。進程

固然,多核cpu的系統是在前述值的基礎上乘以cpu內核的個數。如對於多核cpu的系統,有N個核則所能承受的邊界值爲N.0。內存

可使用以下命令來查看每一個處理器的信息:rem

cat /proc/cpuinfo

若是隻想計算有多少個cpu內核,可使用以下命令:

cat /proc/cpuinfo | grep 'model name' | wc -l

二、第二行是進程信息:

  1. Tasks: 322 total, 2 running, 320 sleeping, 0 stopped, 0 zombie
  2. / / / / /
  3. 進程總數 正運行進程數 睡眠進程數 中止進程數 殭屍進程數

三、第三行是CPU信息:

  1. %Cpu(s):
  2. 5.0 us 用戶空間CPU佔比
  3. 1.7 sy 內核空間CPU佔比
  4. 0.0 ni 用戶進程空間改過優先級的進程CPU佔比
  5. 93.0 id 空閒CPU佔比
  6. 0.0 wa 待輸入輸出CPU佔比
  7. 0.3 hi 硬中斷(Hardware IRQ)CPU佔比
  8. 0.0 si 軟中斷(Software Interrupts)CPU佔比
  9. 0.0 st -

四、第四行是內存信息:

  1. KiB Mem: 1010504 total, 937416 used, 73088 free, 23708 buffers
  2. / / / /
  3. 物理內存總量 使用中總量 空閒總量 緩存的內存量

五、第五行是swap交換分區信息:

  1. KiB Swap: 1046524 total, 280708 used, 765816 free, 365556 cached Mem
  2. / / / /
  3. 交換區總量 使用中總量 空閒總量 緩存的內存量

2、進程(任務)狀態監控

第七行及如下顯示了各進程(任務)的狀態監控。各列所表明的含義以下:

  1. PID 進程id
  2. USER 進程全部者
  3. PR 進程優先級
  4. NI nice值。負值表示高優先級,正值表示低優先級
  5. VIRT 進程使用的虛擬內存總量,單位kb。VIRT=SWAP+RES
  6. RES 進程使用的、未被換出的物理內存大小,單位kb。RES=CODE+DATA
  7. SHR 共享內存大小,單位kb
  8. S 進程狀態。D=不可中斷的睡眠狀態 R=運行 S=睡眠 T=跟蹤/中止 Z=殭屍進程
  9. %CPU 上次更新到如今的CPU時間佔用百分比
  10. %MEM 進程使用的物理內存百分比
  11. TIME+ 進程使用的CPU時間總計,單位1/100秒
  12. COMMAND 進程名稱(命令名/命令行)

3、與top交互

  • 按鍵b打開或關閉 運行中進程的高亮效果
  • 按鍵x打開或關閉 排序列的高亮效果
  • shift + > 或 shift + < 能夠向右或左改變排序列
  • f鍵,能夠進入編輯要顯示字段的視圖,有 * 號的字段會顯示,無 * 號不顯示,可根據頁面提示選擇或取消字段。

image

相關文章
相關標籤/搜索