天天看點

linux 檢視運作指令行,linux指令行學習(36):使用top指令動态檢視程序資訊

linux 檢視運作指令行,linux指令行學習(36):使用top指令動态檢視程式資訊

一、top指令的說明

雖然ps指令可以顯示有關機器運作情況的很多資訊,但是它提供的隻是在PS指令被執行時刻機器 狀态的一個快照。要檢視機器運作情況的動态視圖,我們可以使用top指令,如下所示。

top程式将按照程序活動的順序,以清單的形式持續更新顯示系統程序的目前資訊(預設每3秒更 新一次)。它主要用于檢視系統“最高(top) ”程序的運作情況,其名字也來源于此。

top指令顯示的内容包含兩個部分,頂部顯示的是系統總體狀态資訊,下面顯示的是一張按CPU活動時間排序的程序情況表。

top程式可以接受許多鍵盤指令,其中最常用的有兩個:一個是h,輸入後将顯示程式的幫助界 面;另一個是q,用來退出top指令。

主流的桌面環境都提供了用來顯示類似top指令的輸出資訊的圖形化應用程式(和Windows中任務管理器[Task Manager]的運作方式類似),但是top指令優于圖形化版本、這是因為top指令運作得更快,而且消耗的系統資源要少得多。

二、頭部資訊說明

執行top指令後顯示如下所示的頭部資訊:

top - 14:59:20 up 6:30, 2 users, load average: 0.07, 0.02, 0.00

Tasks: 109 total, 1 running, 106 sleeping. 0 stopped, 2 zombie

Cpu(s): 0.7%us, 1.0%sy, 0.0%ni, 98.3%id, 0.0%wa. 0.0%hi, 0.0%si, 0.0%st

Mem:319496k total, 314860k used, 4636k free, 19392k buff

Swap:875500k total,149128k used,726372k fi'ee. 114676k each

一共5行。

第一行各項意義:

top:程式名

14:59:20:即時時間

up 6:30:正常運作時間。從啟動到現在的時間。這個例子,系統運作了6小時30分。

2 users:兩個使用者已登入

load average:負載均值,指等待運作的程序數,即共享cpu的處于可運作狀态的程序數。顯示的三個值分别是前60秒,前5分鐘和前15分鐘的均值。該值小于1.0表示機器不忙。

第二行意義:

Tasks: 程序數及各程序的狀态資訊。這個例子中,共109個程序,其中1個在運作,106個休眠,0個停止,2個僵屍程序。

第三行意義:

Cpu(s): CPU使用情況。這個例子中,使用者使用0.7%的cpu時間。系統程序占用1.0%,0.0%CPU時間用于nice程序。98.3%的CPU時間閑置。0.0%的CPU時間用于等等I/O操作;0.0%的CPU時間用于硬體中斷。0.0%的CPU時間用于軟體中斷。0.0%的CPU時間用于硬體中斷。0.0%的CPU時間為steal time。

Steal time is the percentage of time a virtual CPU waits for a real CPU while the hypervisor is servicing another virtual processor.

第四行意義:

Mem:顯示随機存取記憶體的使用情況。有總量、已經使用的量、可用量和緩沖區大小。

第五行意義:

Swap:顯示交換空間(虛拟記憶體)的使用情況。

三、程序情況各列的意義

程序情況是一個清單,每行為一個程序。各列意義如下:

1 PID = (Process Id) 程序Id;

2 USER = (User Name) 程序所有者的使用者名;

3 PR = (Priority) 優先級

4 NI = (Nice value) nice值。負值表示高優先級,正值表示低優先級

5 VIRT = (Virtual Image (kb)) 程序使用的虛拟記憶體總量,機關kb。VIRT=SWAP+RES

6 RES = (Resident size (kb)) 程序使用的、未被換出的實體記憶體大小,機關kb。RES=CODE+DATA

7 SHR = (Shared Mem size (kb)) 共享記憶體大小,機關kb

8 S = (Process Status) 程序狀态。D=不可中斷的睡眠狀态,R=運作,S=睡眠,T=跟蹤/停止,Z=僵屍程序

9 %CPU = (CPU usage) 上次更新到現在的CPU時間占用百分比

10 %MEM = (Memory usage (RES)) 程序使用的實體記憶體百分比

11 TIME+ = (CPU Time, hundredths) 程序使用的CPU時間總計,機關1/100秒

12 COMMAND 指令