vmstat、top


vmstat是一個查看虛擬內存(Virtual Memory)使用狀況的工具,使用vmstat命令可以得到關於進程、內存、內存分頁、堵塞IO、traps及CPU活動的信息。

vmstat 最常用的有兩個數字參數,第一個參數是采樣的時間間隔數,單位是秒,第二個參數是采樣的次數,如果不寫就是一直采樣下去。

下面是使用 make -j10 編譯時輸出的報告:

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 4944468 261552 2525348    0    0     0     2    1    5  0  0 99  0  0
 0  0      0 4944840 261552 2525348    0    0     0    48  359  176  1  0 99  0  0
 0  0      0 4944584 261552 2525348    0    0     0     0   60   38  0  0 100  0  0
10  0      0 4885292 261552 2525360    0    0     0     0 7369  582 59 30 11  0  0
10  0      0 4868388 261552 2525424    0    0     0     0 8101  485 69 30  0  0  0

 

字段說明詳見 man vmstat ,如下:

Procs(進程):

r: 運行隊列中進程數量

b: 等待IO的進程數量,即阻塞的進程

Memory(內存):

swpd: 虛擬內存大小

free: 可用內存大小

buff: 用作緩沖的內存大小

cache: 用作緩存的內存大小

Swap:

si:  Amount of memory swapped in from disk (/s).

so: Amount of memory swapped to disk (/s).

IO:(現在的Linux版本塊的大小為1024bytes)

bi: 每秒讀取的塊數

bo: 每秒寫入的塊數

系統:

in: 每秒中斷數,包括時鍾中斷。

cs: 每秒上下文切換數。

CPU(以百分比表示):

us: 用戶進程執行時間(user time)

sy: 系統進程執行時間(system time)

id: 空閑時間(包括IO等待時間)

wa: 等待IO時間

 

 

top:

可以動態觀察系統進程狀況,方便系統管理員實時了解系統資源現狀。

常用熱鍵 用途
t 顯示摘要信息開關.
m 顯示內存信息開關.
A 分類顯示系統不同資源的使用大戶。有助於快速識別系統中資源消耗多的任務。
f 添加刪除所要顯示列.
o 調整所要顯示列的順序.
r 調整一個正在運行的進程Nice值.
k 結束一個正在運行的進程.
z 彩色/黑白顯示開關                                      
1 單CPU顯示開關  
H      顯示線程
x 高亮顯示排序的列
y   高亮顯示正在運行的任務
z 彩色、黑白顯示
Z   選擇顏色模板(a或 w來調整,回車確定)
N 按PID排序
M 按內存使用排序
P 按CPU使用排序
<(>) 以當前排序列的左邊(或右邊)列進行排序
R 反向排序

PR (Priority):即進程的優先級,或者通俗點說就是程序被CPU執行的先后順序,此值越小進程的優先級別越高。

NI (Nice value):Nice值,其表示進程可被執行的優先級的修正數值。如前面所說,PRI值越小越快被執行,那么加入nice值后,將會使得PRI變為:PRI(new)=PRI(old)+nice。這樣,當nice值為負值的時候,那么該程序將會優先級值將變小,即其優先級會變高,則其越快被執行。在UNIX系統或者LINUX系統中,使用從-20到+19的一個可變數值來表示這個nice值。

 

 

uptime 命令主要用於獲取主機運行時間和查詢linux系統負載等信息。

依次顯示系統已經運行了多長時間,信息顯示依次為:現在時間、系統已經運行了多長時間、目前有多少登陸用戶、系統在過去的1分鍾、5分鍾和15分鍾內的平均負載。

08:00:30 up 5 days,  1:29,  2 users,  load average: 0.08, 0.05, 0.08


free 命令

             total       used       free     shared    buffers     cached
Mem:       8160468    2470356    5690112          0     240448    1866024
-/+ buffers/cache:     363884    7796584
Swap:            0          0          0

對於應用程序來說,buffers/cached 是等於可用的,因為buffer/cached是為了提高文件讀取的性能,當應用程序需在用到內存的時候,buffer/cached會很快地被回收。從應用程序的角度來說,可用內存= free buffers+cached = total-used

 

pmap 命令可以顯示進程的內存映射,使用這個命令可以找出造成內存瓶頸的原因。

while true; do pmap -d  3066 | tail -1; sleep 2; done

mapped: 11952K    writeable/private: 248K    shared: 0K
mapped: 11952K    writeable/private: 248K    shared: 0K
mapped: 11952K    writeable/private: 248K    shared: 0K

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM