linux下VIRT,RES,SHR的含義

2021-06-27 07:11:41 字數 1887 閱讀 4698

如題的三個字段雖說在man top下面都有解釋,但感覺有些含糊,看後難以理解它們對程序資源占用的具體情況是如何的。查閱資料後,歸納一下。

virt:

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

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

res:

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

2、包含其他程序的共享

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

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

shr:

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

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

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

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

unix/linux 程序管理相關命令介紹

程序是作業系統用於控制系統資源使用的實體。unix/linux 程序管理相關的命令主要有以下幾個,在後面的指令碼實現中會用到部分命令。

顯示程序屬性命令

ps 命令:該命令是最基本同時也是非常強大的程序檢視命令,用於報告程序標識、使用者、cpu 時間消耗以及其他屬性。利用它可以確定有哪些程序正在執行及執行的狀態、程序是否結束、程序有沒有僵死、哪些程序占用了過多的資源等。ps 命令可以監控後台程序的工作情況,因為後台程序是不和螢幕鍵盤這些標準輸入 / 輸出裝置進行通訊的,如果需要檢測其情況,可以使用 ps 命令。

單獨使用 ps 命令所看到的程序列表,都是在前台執行的程序,但並非所有程序都在前台執行,也有不少程序隱藏在後台執行。使用命令 ps -e 可以顯示所有程序。

程序效能檢測命令

top 命令:linux 使用 top 命令來顯示 cpu 佔用率為前幾位的程序。該命令可以按 cpu 使用率、記憶體使用率、執行時間對任務進行排序,而且該命令的很多特性都可以通過互動式命令或者在個人定製檔案中進行設定。top 主要欄位的含義如下:

表 1. top 字段含義

列名含義

pid程序 id

user

程序所有者的使用者名稱

pr任務優先順序

ninice 值。數值越小表示優先順序越高,數值越大表示優先順序越低

virt

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

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

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

s程序狀態。

d= 不可中斷的睡眠狀態 

r= 執行 

s= 睡眠 

t= 跟蹤 / 停止 

z= 殭屍程序

%cpu

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

time+

程序使用的 cpu 時間總計,精確到 1/100 秒

command

命令名 / 命令列

topas 命令:aix 使用 topas 命令在字元終端上報告有關本地系統上的活動的至關重要的統計資訊,包括顯示 cpu 佔用率為前幾位的程序。topas 命令以預設的兩秒間隔從系統中提取並顯示統計資訊。通過命令 topas -p 可以進入 topas 的 process 子部分,顯示活動程序的列表。各程序將按它們在監視間隔期間的 cpu 使用率進行排序。topas 針對每個程序所顯示的字段含義如下:

Linux下Redis下安裝

redis安裝 檢查是否安裝redis ps ef grep redis2.檢查gcc服務是否安裝成功 rpm qa grep gcc注 安裝成功則顯示 mkdir redis5.解壓redis安裝包 tar zxvf redis 2.8.17 tar.gz c usr local redis 解壓...

Linux下程式設計

windows下我的環境為 windows10 vs2015 opencv3.4.0 opencv3.4.0 contrib python linux下我的環境為 ubuntu16004 也有ubuntu1804 opencv3.4.0 opencv3.4.0 contrib python gnu ...

linux下萬用字元

萬用字元是一類鍵盤字元,有星號 和問號 當查詢檔案呀資料夾時,可以使用它來代替乙個或多個真正字元 當不知道真正字元或者不想建入完整名字時,常常使用萬用字元代替乙個或多個真正字元。星號 可以使用星號代替0個或多個字元。如果正在查詢以aew開頭的乙個檔案,但不記得檔名其餘部分,可以輸入aew,查詢以ae...