top使用小記

wisdomone1發表於2013-05-02

Top監控工具可以顯示CPU佔用率為前幾位的程式,並提供CPU的實時活動情況。它是一個動態顯示過程,即可以透過使用者按鍵來不斷重新整理當前狀態。如果在前臺執行該命令,它將獨佔前臺,直到使用者終止該程式為止。

比較準確的說,top命令提供了實時的對系統處理器的狀態監視。它將顯示系統中CPU最“敏感”的任務列表。該命令可以按CPU使用。記憶體使用和執行時間對任務進行排序;而且該命令的很多特性都可以透過互動式命令或者在個人定製檔案中進行設定。在後面的介紹中將把命令引數和互動命令分開講述。

 

語法:top [-s time] [-d count] [-q] [-u] [-h] [-n number] [-f filename]

 

 

-s time 設定螢幕重新整理的延時,單位為秒,預設值5

-d count 設定螢幕重新整理的次數,重新整理顯示完count次後退出

-q 如果經過nice授權,使用-q可以使top執行的更快一些

-u 用顯示User ID代替username,提高命令執行速度

-h 當系統由多個CPU時,個別CPU的狀態資訊被隱藏,只顯示平均狀態值

- -n number 設定每一螢幕顯示的程式數目,number值超過程式最大數目,則設定無效

-f filename 輸出重定向到給定的檔名,預設為16個程式資訊

top指令是按cpu佔用率排序的,如果想一次獲得所有程式的快照,使用命令
  top -n [最大程式數] -f 輸出到檔案,比如top -n 1000 -f topsnapshot.log
   top指令輸出記憶體的統計資訊包括
  Memory: 2614368K (2249100K) real, 5838616K (5264696K) virtual, 113028K free Page# 1/1
  其中沒有括號起來的是總數,括號括起來的部分是活動程式使用的記憶體數,free則是真實空閒的實體記憶體數.
  程式資訊的列包括
  CPU TTY PID USERNAME PRI NI SIZE RES STATE TIME %WCPU %CPU COMMAND
  和記憶體相關的只有SIZE和RES
  SIZE:任務的程式碼加上資料再加上棧空間的大小。
  RES:任務使用的實體記憶體的總數量
  要檢查程式是否有記憶體洩露,和實際佔用的記憶體大小,看RES列即可.
  顯示資訊描述

順序顯示下面三個常規的資訊

一.系統資訊:

System: pa1011 Tue Jun 1 22:15:56 2004

Load averages: 0.06, 0.04, 0.03

79 processes: 71 sleeping, 8 running

Cpu states:

CPU LOAD USER NICE SYS IDLE BLOCK SWAIT INTR SSYS

0 0.11 6.2% 0.0% 3.4% 90.5% 0.0% 0.0% 0.0% 0.0%

1 0.01 5.2% 0.0% 4.4% 90.5% 0.0% 0.0% 0.0% 0.0%

--- ---- ----- ----- ----- ----- ----- ----- ----- -----

avg 0.06 -0.0% -0.0% -0.0% 100.0% -0.0% -0.0% -0.0% -0.0%

首部的幾行顯示系統的幾個資訊,其中包括:

+ system:系統名和當前日期.

+ Load averages:1分鐘、5分鐘和15分鐘內執行的負載平均數

一般來說只要每個CPU的當前活動程式數不大於3那麼系統的效能就是良好的,如果每個CPU的任務數大於5,那麼就表示這臺機

器的效能有嚴重問題

+ 最近一次更新時存在的程式總數,並分別列出run(執行)、sleep(睡眠)、idle(停止)和zomb(‘殭屍’)狀態的程式數

+ CPU state:使用者佔用時間的百分比、系統佔用CPU時間的百分比、被nice命令改變優先順序的任務佔用的CPU時間百分比、以及

CPU空閒時間的百分比。(被nice命令改變優先順序的任務僅指那些nice值為負的任務)。花費在被nice命令改變優先順序的任務上的

時間也將被計算在系統和使用者時間內,因此整個時間加起來可能會超過百分之百

+ avg:活動程式的平均值 (僅當多處理器系統時列出).

二.記憶體資訊

Memory: 610008K (24424K) real, 995344K (30304K) virtual, 12588K free Page# 1/4

Memory:關於記憶體使用情況的統計,包括實際(real)記憶體的活動值/總值,虛擬(virtual)記憶體的使用值/總值,剩餘的記憶體。

三.程式資訊

CPU TTY PID USERNAME PRI NI SIZE RES STATE TIME %WCPU %CPU COMMAND

1 ? 33 root 152 20 0K 0K run 153:43 1.18 1.18 vxfsd

0 ? 1751 root 154 20 2500K 868K sleep 2084:19 0.52 0.52 ARMServer

0 ? 1730 root 154 20 4500K 332K sleep 1664:55 0.44 0.44 acactmgr

列出系統裡每一個處理器的資訊,當資訊在一個螢幕內無法顯示時,會被分成多個螢幕顯示,可以前面提到l,k和t命令檢視

(1)CPU:處理器號(僅當多處理器系統時列出)

(2)TTY:終端名

(3)PID:程式號

(4)USERNAME:使用者名稱

(5)PRI:任務的優先順序

(6)NICE:任務的nice值,一個具有較低值的程式在系統上將具有優先權。可以透過改變nice值提高某些程式速度,但是這實際上是一種交易,因為那些nice值被升高的程式此時將執行得很慢。

(7)SIZE:任務的程式碼加上資料再加上棧空間的大小。

(8)RES:任務使用的實體記憶體的總數量。

(9)STATE:任務的狀態

(10)TIME:自任務開始時使用的總CPU時間,單位為秒,如153:43,對應是153秒 43毫秒

(11)%WCPU:程式的CPU利用率權重百分比

(12)%CPU:程式的原始的CPU利用率百分比,自上一次螢幕重新整理以來任務佔用CPU 時間的份額

(13) COMMAND:啟動程式的命令名。如果名字太長而不能在一行顯示時,它將被截短

2:檢查共享記憶體佔用的記憶體容量
  使用ipcs -m -b命令,-m表示檢查共享記憶體,-b表示輸出每個記憶體的位元組數,得到的共享記憶體資訊輸出列包括:
  T ID KEY MODE OWNER GROUP SEGSZ
  SEGSZ列則是位元組數.把每列相加則是共享記憶體佔用的記憶體總數.
  3: 調整核心動態高速緩衝區引數
  HP-UX某些型號的伺服器執行的時候需要幾乎1G的記憶體維持系統執行,比如作為裝置緩衝什麼的.
  可以用kmtune命令檢查核心配置引數,動態高速緩衝區引數dbc_min_pct 和 dbc_max_pct參數列示一個高速緩衝區允許的可用記憶體的最小和最大百分比,dbc_max_pct的預設值是50,一般設定為10即可.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-759622/,如需轉載,請註明出處,否則將追究法律責任。

相關文章