Linux中的top命令顯示系統(tǒng)上正在運(yùn)行的進(jìn)程。它是系統(tǒng)管理員最重要的工具之一。被廣泛用于監(jiān)視服務(wù)器的負(fù)載。在本篇中,我們會(huì)探索top命令的細(xì)節(jié)。top命令是一個(gè)交互命令。在運(yùn)行top的時(shí)候還可以運(yùn)行很多命令。我們也會(huì)探索這些命令。(注:不同發(fā)行版的top命令在各種細(xì)節(jié)有不同,如果發(fā)現(xiàn)不同時(shí),請讀你的幫助手冊和命令內(nèi)的幫助。)
1. Top 命令輸出:
首先,讓我們了解一下輸出。top命令會(huì)顯示系統(tǒng)的很多信息。我們需要理解不同部分輸出的意義:默認(rèn)運(yùn)行時(shí),top命令會(huì)顯示如下輸出:
(默認(rèn)顯示)
前幾行水平顯示了不同系統(tǒng)參數(shù)的概括,接下來是進(jìn)程和它們在列中的屬性。
1.1 系統(tǒng)運(yùn)行時(shí)間和平均負(fù)載:
(顯示運(yùn)行時(shí)間)
top命令的頂部顯示與uptime命令相似的輸出。
這些字段顯示:
當(dāng)前時(shí)間
系統(tǒng)已運(yùn)行的時(shí)間
當(dāng)前登錄用戶的數(shù)量
相應(yīng)最近5、10和15分鐘內(nèi)的平均負(fù)載。
可以使用'l'命令切換uptime的顯示。
1.2 任務(wù):
(任務(wù)概況)
第二行顯示的是任務(wù)或者進(jìn)程的總結(jié)。進(jìn)程可以處于不同的狀態(tài)。這里顯示了全部進(jìn)程的數(shù)量。除此之外,還有正在運(yùn)行、睡眠、停止、僵尸進(jìn)程的數(shù)量(僵尸是一種進(jìn)程的狀態(tài))。這些進(jìn)程概括信息可以用't'切換顯示。
1.3 CPU 狀態(tài):
(CPU狀態(tài)顯示)
下一行顯示的是CPU狀態(tài)。 這里顯示了不同模式下的所占CPU時(shí)間的百分比。這些不同的CPU時(shí)間表示:
us, user: 運(yùn)行(未調(diào)整優(yōu)先級的) 用戶進(jìn)程的CPU時(shí)間
sy,system: 運(yùn)行內(nèi)核進(jìn)程的CPU時(shí)間
ni,niced:運(yùn)行已調(diào)整優(yōu)先級的用戶進(jìn)程的CPU時(shí)間
wa,IO wait: 用于等待IO完成的CPU時(shí)間
hi:處理硬件中斷的CPU時(shí)間
si: 處理軟件中斷的CPU時(shí)間
st:這個(gè)虛擬機(jī)被hypervisor偷去的CPU時(shí)間(譯注:如果當(dāng)前處于一個(gè)hypervisor下的vm,實(shí)際上hypervisor也是要消耗一部分CPU處理時(shí)間的)。
可以使用't'命令切換顯示。
1.4 內(nèi)存使用:
(內(nèi)存使用情況)
接下來兩行顯示內(nèi)存使用率,有點(diǎn)像'free'命令。第一行是物理內(nèi)存使用,第二行是虛擬內(nèi)存使用(交換空間)。
物理內(nèi)存顯示如下:全部可用內(nèi)存、已使用內(nèi)存、空閑內(nèi)存、緩沖內(nèi)存。相似地:交換部分顯示的是:全部、已使用、空閑和緩沖交換空間。
內(nèi)存顯示可以用'm'命令切換。
1.5 字段/列:
(任務(wù)信息列)
在橫向列出的系統(tǒng)屬性和狀態(tài)下面,是以列顯示的進(jìn)程。不同的列代表下面要解釋的不同屬性。
默認(rèn)上,top顯示這些關(guān)于進(jìn)程的屬性:
PID
進(jìn)程ID,進(jìn)程的唯一標(biāo)識符
USER
進(jìn)程所有者的實(shí)際用戶名。
PR
進(jìn)程的調(diào)度優(yōu)先級。這個(gè)字段的一些值是'rt'。這意味這這些進(jìn)程運(yùn)行在實(shí)時(shí)態(tài)。
NI
進(jìn)程的nice值(優(yōu)先級)。越小的值意味著越高的優(yōu)先級。
VIRT
進(jìn)程使用的虛擬內(nèi)存。
RES
駐留內(nèi)存大小。駐留內(nèi)存是任務(wù)使用的非交換物理內(nèi)存大小。
SHR
SHR是進(jìn)程使用的共享內(nèi)存。
S
這個(gè)是進(jìn)程的狀態(tài)。它有以下不同的值:
D - 不可中斷的睡眠態(tài)。
R – 運(yùn)行態(tài)
S – 睡眠態(tài)
T – 被跟蹤或已停止
Z – 僵尸態(tài)
%CPU
自從上一次更新時(shí)到現(xiàn)在任務(wù)所使用的CPU時(shí)間百分比。
%MEM
進(jìn)程使用的可用物理內(nèi)存百分比。
TIME+
任務(wù)啟動(dòng)后到現(xiàn)在所使用的全部CPU時(shí)間,精確到百分之一秒。
COMMAND
運(yùn)行進(jìn)程所使用的命令。
還有許多在默認(rèn)情況下不會(huì)顯示的輸出,它們可以顯示進(jìn)程的頁錯(cuò)誤、有效組和組ID和其他更多的信息。
2. 交互命令:
我們之前說過top是一個(gè)交互命令。上一節(jié)我們已經(jīng)遇到了一些命令。這里我們會(huì)探索更多的命令。
2.1 ‘h’: 幫助