linux top命令詳解

2021-09-05 01:13:13 字數 3693 閱讀 4158

首先介紹top中一些欄位的含義:

virt:virtual memory usage 虛擬記憶體

1、程序「需要的」虛擬記憶體大小,包括程序使用的庫、**、資料等

2、假如程序申請100m的記憶體,但實際只使用了10m,那麼它會增長100m,而不是實際的使用量

res:resident memory usage 常駐記憶體

1、程序當前使用的記憶體大小,但不包括swap out

2、包含其他程序的共享

3、如果申請100m的記憶體,實際使用10m,它只增長10m,與virt相反

4、關於庫占用記憶體的情況,它只統計載入的庫檔案所佔記憶體大小

shr:shared memory 共享記憶體

1、除了自身程序的共享記憶體,也包括其他程序的共享記憶體

2、雖然程序只使用了幾個共享庫的函式,但它包含了整個共享庫的大小

3、計算某個程序所佔的物理記憶體大小公式:res – shr

4、swap out後,它將會降下來

data

1、資料占用的記憶體。如果top沒有顯示,按f鍵可以顯示出來。

2、真正的該程式要求的資料空間,是真正在執行中要使用的。

top 執行中可以通過 top 的內部命令對程序的顯示方式進行控制。內部命令如下:

s – 改變畫面更新頻率

l – 關閉或開啟第一部分第一行 top 資訊的表示

t – 關閉或開啟第一部分第二行 tasks 和第三行 cpus 資訊的表示

m – 關閉或開啟第一部分第四行 mem 和 第五行 swap 資訊的表示

n – 以 pid 的大小的順序排列表示程序列表

p – 以 cpu 佔用率大小的順序排列程序列表

m – 以記憶體佔用率大小的順序排列程序列表

h – 顯示幫助

n – 設定在程序列表所顯示程序的數量

q – 退出 top

s – 改變畫面更新週期

序號 列名 含義

a pid 程序id

b ppid 父程序id

c ruser real user name

d uid 程序所有者的使用者id

e user 程序所有者的使用者名稱

f group 程序所有者的組名

g tty 啟動程序的終端名。不是從終端啟動的程序則顯示為 ?

h pr 優先順序

i ni nice值。負值表示高優先順序,正值表示低優先順序

j p 最後使用的cpu,僅在多cpu環境下有意義

k %cpu 上次更新到現在的cpu時間占用百分比

l time 程序使用的cpu時間總計,單位秒

m time+ 程序使用的cpu時間總計,單位1/100秒

n %mem 程序使用的物理記憶體百分比

o virt 程序使用的虛擬記憶體總量,單位kb。virt=swap+res

p swap 程序使用的虛擬記憶體中,被換出的大小,單位kb。

q res 程序使用的、未被換出的物理記憶體大小,單位kb。res=code+data

r code 可執行**占用的物理記憶體大小,單位kb

s data 可執行**以外的部分(資料段+棧)占用的物理記憶體大小,單位kb

t shr 共享記憶體大小,單位kb

u nflt 頁面錯誤次數

v ndrt 最後一次寫入到現在,被修改過的頁面數。

w s 程序狀態。(d=不可中斷的睡眠狀態,r=執行,s=睡眠,t=跟蹤/停止,z=殭屍程序)

x command 命令名/命令列

y wchan 若該程序在睡眠,則顯示睡眠中的系統函式名

z flags 任務標誌,參考 sched.h

預設情況下僅顯示比較重要的 pid、user、pr、ni、virt、res、shr、s、%cpu、%mem、time+、command 列。可以通過下面的快捷鍵來更改顯示內容。

通過 f 鍵可以選擇顯示的內容。按 f 鍵之後會顯示列的列表,按 a-z 即可顯示或隱藏對應的列,最後按回車鍵確定。

按 o 鍵可以改變列的顯示順序。按小寫的 a-z 可以將相應的列向右移動,而大寫的 a-z 可以將相應的列向左移動。最後按回車鍵確定。

按大寫的 f 或 o 鍵,然後按 a-z 可以將程序按照相應的列進行排序。而大寫的 r 鍵可以將當前的排序倒轉。

top使用方法:

使用格式:

top [-] [d] [p] [q] [c] [c] [s] [s] [n]

引數說明:

d:指定每兩次螢幕資訊重新整理之間的時間間隔。當然使用者可以使用s互動命令來改變之。

p:通過指定監控程序id來僅僅監控某個程序的狀態。

q:該選項將使top沒有任何延遲的進行重新整理。如果呼叫程式有超級使用者許可權,那麼top將以盡可能高的優先順序執行。

s:指定累計模式。

s:使top命令在安全模式中執行。這將去除互動命令所帶來的潛在危險。

i:使top不顯示任何閒置或者僵死程序。

c:顯示整個命令列而不只是顯示命令名。

常用命令說明:

ctrl+l:擦除並且重寫螢幕

k:終止乙個程序。系統將提示使用者輸入需要終止的程序pid,以及需要傳送給該程序什麼樣的訊號。一般的終止程序可以使用15訊號;如果不能正常結束那就使用訊號9強制結束該程序。預設值是訊號15。在安全模式中此命令被遮蔽。

i:忽略閒置和僵死程序。這是乙個開關式命令。

q:退出程式

r:重新安排乙個程序的優先級別。系統提示使用者輸入需要改變的程序pid以及需要設定的程序優先順序值。輸入乙個正值將使優先順序降低,反之則可以使該程序擁有更高的優先權。預設值是10。

s:切換到累計模式。

s:改變兩次重新整理之間的延遲時間。系統將提示使用者輸入新的時間,單位為s。如果有小數,就換算成m s。輸入0值則系統將不斷重新整理,預設值是5 s。需要注意的是如果設定太小的時間,很可能會引起不斷重新整理,從而根本來不及看清顯示的情況,而且系統負載也會大大增加。

f或者f:從當前顯示中新增或者刪除專案。

o或者o:改變顯示專案的順序

l:切換顯示平均負載和啟動時間資訊。

m:切換顯示記憶體資訊。

t:切換顯示程序和cpu狀態資訊。

c:切換顯示命令名稱和完整命令列。

m:根據駐留記憶體大小進行排序。

p:根據cpu使用百分比大小進行排序。

w:將當前設定寫入~/.toprc檔案中。

檢視多核cpu命令

mpstat -p all  和  sar -p all 

說明:sar -p all > aaa.txt   重定向輸出內容到檔案 aaa.txt

top命令經常用來監控linux的系統狀況,比如cpu、記憶體的使用,程式設計師基本都知道這個命令,但比較奇怪的是能用好它的人卻很少,例如top監控檢視中記憶體數值的含義就有不少的曲解。

本文通過乙個執行中的web伺服器的top監控截圖,講述top檢視中的各種資料的含義,還包括檢視中各程序(任務)的字段的排序。

Linux top命令詳解

top統計cpu總體使用情況,使用了八個指標。這八個指標分別是 使用者空間程序 us 核心空間程序 sy 高nice值的使用者空間程序 ni 空閒 id 空閒等待io wa 中斷上半部 hi 中斷下半部 si 以及steal時間 st 理論上來講這八個指標之和應該是100 這八個指標當中,id和wa...

linux top 命令詳解

linux top 命令詳解 功能說明 顯示,管理執行中的程式。語 法 top bciqss d 間隔秒數 n 執行次數 補充說明 執行top指令可顯示目前正在系統中執行的程式,並通過它所提供的互動式介面,用熱鍵加以管理。參 數 b 使用批處理模式。c 列出程式時,顯示每個程式的完整指令,包括指令名...

Linux top命令詳解

統計資訊區 第一行 隊伍佇列資訊,同uptime命令的執行結果 23 32 15 表示系統時間 up 42 min 系統已經執行了42分鐘了 1 user 當前有乙個使用者登入系統 load erage 0.01,0.00,0.00 分別表示1min 5min 15min系統負載情況,這些資料是每隔...