linux系統中top命令輸出詳解

Linux中的top命令顯示系統正在運行的進程。它是系統管理員最重要的工具之一。被廣泛用於監視服務

器的負載。top是一個交互命令。在運行top的時候還可以運行很多命令。我們會探索top命令的細節,以

及這些命令。


(譯註:不同髮型版本的top命令,在各種細節有所不同,如果發現不同時,請讀你的幫助手冊和命令內的幫助。)


1.Top命令輸出:

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

首先,讓我們瞭解一下top命令的輸出,top命令會顯示系統的很多信息,我們需要理解不同部分輸出的

意義:top命令會顯示如下輸出:

wKiom1SXe2_jsyWrAAVf2FMYpjo065.jpg


前幾行水平顯示了不同系統參數的概括,家下來是進程和它們在列中的屬性。


1.1 系統運行時間和平均負載:

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

top命令輸出的頂部顯示與uptime命令輸出相似。


wKiom1SXvB2Sx63gAAA8BqU4xYM553.jpg


00:15:48 -------- 當前系統時間

up 1:23  -------- 系統已經運行的時間

2 users  -------- 當前登錄用戶的數量

load average:0.26,0.33,0.47 ----------1分鐘,5分鐘、15分鐘系統平均負載


1.2 任務:

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

wKioL1SXwLvAX-YeAAA-FD6Zeh8302.jpg


第二行顯示的是任務或者進程的總結。進程可以處於不同的狀態。


147 total ---------- 共147個任務(進程)

2 running ---------- 有2個任務(進程)正在運行

145 sleeping ------- 有145個任務(進程)正在睡眠

0 stopped ---------- 有0個任務(進程)已經停止

0 zombie  ---------- 有0個殭屍任務(進程)


1.3 CPU狀態:

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

wKioL1SXwrfgT192AAA9xFtm3io291.jpg


下一行顯示的是cpu的狀態,這裏顯示了不同模式下的所佔cpu時間的百分比。


1.8 us,user --------- 運行(未調整優先級的)用戶進程所佔的cpu時間

1.2 sy,system ------- 運行系統內核進程所佔的cpu時間

0.0 ni,niced -------- 運行(已經調整優先級的)用戶進程所佔的cpu時間

97.0 id,idle ---------空閒進程所佔的cpu時間

0.0 wa,IO wait ------- 用於等待IO完成所佔的cpu時間

0.0 hi --------------- 處理硬件中斷所佔的cpu時間

0.0 si --------------- 處理軟件中斷所佔的cpu時間

0.0 st --------------- 虛擬機被hypervisor偷去的cpu時間


注: Hypervisor 是一種運行在基礎物理服務器和操作系統之間的中間軟件層,可允許多個操作系統和      應用共享硬件。也可叫做VMM(virtual machine monitor)即虛擬機監視器

    

     Hypervisors是一種在虛擬環境中的“元”操作系統。他們可以訪問服務器上包括磁盤和內存在內

     所有物理設備,Hypervisors不但協調着這些硬件資源的訪問,也同時在各個虛擬機之間施加防護

     當服務器啓動並執行hypervisor時,它會加載所有虛擬機客服端的操作系統,同時會分配給每一臺      虛擬機適量的內存、cpu、網絡、磁盤。


1.4 內存使用:

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

wKiom1SX1jTijt8CAABr8eMwL2U101.jpg


接下來兩行顯示內存使用率,有點像free命令。

第一行是物理內存使用

第二行是虛擬內存(交換空間)


物理內存:  全部內存       已使用內存        空閒內存      緩衝內存

交換內存:  同上


內存顯示可以用 m 命令切換


1.5 字段/列

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

wKiom1SX2BDT-zafAAOhyD-drxc339.jpg


在橫向列出的系統屬性和狀態下面,是以列顯示的進程,不同的列代表下面要解釋的屬性


PID  -------- 進程ID,進程的唯一標示符

USER -------- 進程所有者的實際用戶名

PR   -------- 進程的調度優先級。這個字段的一些值是rt,這意味着這些進程運行在實時態

NI   -------- 進程的nice值(優先級),越小的值意味着越高的優先級

VIRT -------- 進程使用的虛擬內存

RES  -------- 駐留內存大小。駐留內存是任務使用的非交換物理內存大小

SHR  -------- 進程使用的共享內存

S    --------  進程的狀態,它有一下不同的值:

     

     D - 不可中斷的睡眠態

     R - 運行態

     S - 睡眠態

     T - 被跟蹤或已停止

     Z - 殭屍態


%CPU ------- 從上一次更新時到現在任務所使用的CPU時間百分比

%MEM -------  進程使用的可用物理內存百分比

TIME+ ------- 任務啓動後到現在所使用的全部CPU時間,緊缺到百分之一秒。

COMMAND ----- 運行進程所使用的命令


注:還有許多在默認情況下不會顯示的輸出,它們可以顯示進程的頁錯誤、有效組、組ID和其他更多的     信息


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章