Linux top命令詳解

2022-09-17 00:51:09 字數 2786 閱讀 6104

統計資訊區

第一行:隊伍佇列資訊,同uptime命令的執行結果

23:32:15 - 表示系統時間

up 42 min - 系統已經執行了42分鐘了

1 user - 當前有乙個使用者登入系統

load **erage: 0.01, 0.00, 0.00 - 分別表示1min、5min、15min系統負載情況,這些資料是每隔5s種檢查一次活躍的程序數,然後按特定演算法計算出的數值。如果這個數除以邏輯cpu的數量,結果高於5的時候就表明系統在超負荷執行。

第二行:任務程序

系統共108個程序,1個處於執行,107處於休眠,0個stopped,0個zombie

第三行:cpu狀態資訊

0.0%us - 使用者空間占用cpu的百分比

0.2%sy - 系統占用cpu的百分比

0.0%ni - 改變過優先順序的程序占用cpu的百分比

99.8%id - 空閒cpu百分比

0.0%wa - io等待占用cpu的百分比

0.0%hi - 硬中斷占用cpu的百分比

0.0%si - 軟中斷占用cpu的百分比

0.0%st - 是當hypervisor伺服器另乙個虛擬處理器的時候,虛擬cpu等待實際cpu的時間的百分比。當st值比較高的話,你需要向主機**商申請擴容虛擬機器。伺服器上的另乙個虛擬機器可能擁有更大更多的cpu時間片,你可能需要申請公升級以與之競爭。另外高steal值可能意味著主機**商在伺服器上過量地**虛擬機器。如果公升級了虛擬機器,steal值還不降的話,你應該尋找另一家服務**商。

第四行:記憶體狀態

mem:   3909764k total,   256228k used,  3653536k free,    31100k buffers

第五行:swap交換分割槽資訊

swap:  2097148k total,        0k used,  2097148k free,    75676k cached

ps:第四行使用中的記憶體總量(used)指的是現在系統核心控制的記憶體數,空閒記憶體總量(free)核心還未納入其管控範圍的數量。納入核心管理的記憶體不見得都在使用中,還包括過去使用過的現在可以被重新利用的記憶體,核心並不把這些可被重新使用的記憶體交還到free中去,因此在linux上free記憶體會越來越少,但是不必擔心。

如果出於windows下使用的習慣(出於蛋疼)去計算可用的記憶體數:free+buffers+cached

對於記憶體監控,在top裡我們要時刻監控第五行swap交換分割槽的used,如果這個數值在不斷的變化,說明核心在不斷進行記憶體和swap的數值交換,這是真正的記憶體不過用了。

第六行:各程序(任務)的狀態監控

pid user      pr  ni  virt  res  shr s %cpu %mem    time+  command

pid - 程序id 

user - 程序所有者 

pr - 程序優先順序 

ni - nice值(負值表示高優先順序,正值表示低優先順序)

virt - 程序使用的虛擬記憶體總量,單位kb。(virtula memory usage)

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

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

res - 常駐記憶體,程序使用的、未被換出的物理記憶體大小。(resident menory usage)

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

2.包括其他程序的共享

3.如果申請100mb的記憶體,實際使用10mb,它只增長10mb。注意與virt區別。

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

shr - 共享記憶體大小

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

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

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

4.交換出去(swap out)後,它將會降下來。

data(如果沒顯示,按f鍵就可以顯示)

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

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

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

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

%time+ - 程序使用的cpu時間總計,單位1/100s

command - 程序名稱(命令名/命令列)

其他使用命令:

1 - 可監控每個邏輯cpu的狀況

b - 高亮顯示當前執行程序

當我們按下後,我們發現pid為2848的「top」程序被加亮了,top程序就是上圖第二行顯示唯一的running的那個程序。可以通過y鍵關閉或開啟執行程序的加亮效果。

程序字段排序:預設進入top時,各程序是按照cpu的占用來排序。這個可以通過「shift + >」或者「shift +

常用命令:

top -c:顯示完整命令

top -b:以批處理模式顯示程式資訊

top -s:以累計模式系那是程式資訊

top -n 2:設定資訊更新次數,更新2次就終止更新並退出

top -d 3:設定資訊更新週期

top -p 1:顯示指定的程序資訊

Linux top命令詳解

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

linux top命令詳解

首先介紹top中一些欄位的含義 virt virtual memory usage 虛擬記憶體 1 程序 需要的 虛擬記憶體大小,包括程序使用的庫 資料等 2 假如程序申請100m的記憶體,但實際只使用了10m,那麼它會增長100m,而不是實際的使用量 res resident memory usa...

linux top 命令詳解

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