一,top:是一個交互式實時的進程查看工具。html
⒈經常使用選項有:緩存
-d # :指定刷新時間間隔,默認是3秒;
bash
-b :批處理;
服務器
-n # :顯示多少批次;
網絡
⒉經常使用內置命令:app
排序方式:
ide
P:以佔據的CPU百分百排序;
工具
M:以佔據內存的百分比排序;
性能
T:以佔據CPU時長排序;
spa
顯示uptine信息:l
顯示tasks(進程樹)及CPU信息:t
CPU分別顯示:1 (數字)
memory信息:m
修改刷新時間間隔:s
終止指定進程:k
退出:q
⒊運行top命令:
# top
首部信息顯示:當前時間 運行時長 在線用戶數 平均負載
第二行:Tasks: 89 total 共有89個進程
running:在運行的個數
sleeping:休眠的個數
stopped:處在中止態的個數
zombie:處於殭屍態的個數
第三行:us(用戶空間使用百分比),sy(內核空間使用百分比),ni(改變過優先級的進程佔用CPU的百分比),id(空閒比例),wa(等待IO完成佔用CPU的百分比),hi(處理硬件中斷佔用CUP的百分比),si(處理軟件中斷佔用CPU的百分比),st(被虛擬化技術偷走的時間比)
第四行:內存的使用狀況:total(總共),free(空閒的),used(已使用的),buff/cache(被buff/cache佔用的內存)
Cache:高速緩存,是位於CPU與主內存間的一種容量較小但速度很高的存儲器。因爲CPU的速度遠高於主內存,CPU直接從內存中存取數據要等待必定時間週期,Cache中保存着CPU剛用過或循環使用的一部分數據,當CPU再次使用該部分數據時可從Cache中直接調用,這樣就減小了CPU的等待時間,提升了系統的效率。
Buffer:緩衝區,一個用於存儲速度不一樣步的設備或優先級不一樣的設備之間傳輸數據的區域。經過緩衝區,可使進程之間的相互等待變少,從而使從速度慢的設備讀入數據時,速度快的設備的操做進程不發生間斷。
buff/cache都能被進程調用,因此真正的空閒內存應該是:free + buff + cache
第五行:交換內存使用狀況:total(總共),free(空閒的),used(已使用的)
第六行空
第七行:各進程的狀態監控,項目列表信息
PID — 進程id
USER — 進程全部者
PR — 進程優先級
NI — nice值。負值表示高優先級,正值表示低優先級
VIRT — 進程使用的虛擬內存總量,單位kb。VIRT=SWAP+RES
RES — 進程使用的、未被換出的物理內存大小,單位kb。RES=CODE+DATA
SHR — 共享內存大小,單位kb
S — 進程狀態。D=不可中斷的睡眠狀態 R=運行 S=睡眠 T=跟蹤/中止 Z=殭屍進程
%CPU — 上次更新到如今的CPU時間佔用百分比
%MEM — 進程使用的物理內存百分比
TIME+ — 進程使用的CPU時間總計,單位1/100秒
COMMAND — 進程名稱(命令名/命令行)
二,htop命令:
描述:交互式進程查看工具,top的升級版。
用法:htop [-dChusv]
-d #:指定延遲時間;
-u UserName:僅顯示指定用戶的過程;
-s COLOMN:以指定字段進行排序;
內鍵命令:
s:跟蹤選定進程的系統調用;
l:顯示選定進程打開的文件列表;
a:將選定的進程綁定至某指定CPU核心;
t:顯示進程樹;
注:顯示信息與htop信息相同;htop安裝包在系統鏡像裏沒有,要在網絡源裏下載。
三,vmstat命令:
描述:
報告信息流程、內存、分頁塊IO,陷阱,磁盤和cpu的活動。
用法:
vmstat [options] [delay [count]]
[root@local~]# vmstat procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 2 0 0 731268 948 160036 0 0 71 6 56 98 0 1 98 1 0
procs:
r:等待運行的進程的個數;
b:處於不可中斷睡眠態的進程個數(被阻塞的隊列的長度);
memory:
swpd:交換內存的使用總量;
free:空閒物理內存的總量;
buff:用於buffer的內存總量;
cache:用於cache的內存總量;
swap:
si:數據進swap的速率(kb/s);
so:數據離開swap的速率(kb/s);
io:
bi:從塊設備讀出數據到系統的速率(kb/s);
bo:保存數據至塊設備的速率;
system:
in:interrupts,中斷速率;
cs:context switch,進程切換速率;
cpu:
us(用戶空間使用百分比),sy(內核空間使用比例),id(空間比例),wa(等待IO完成),st(被虛擬化偷走的時間比)
pmap命令:
用法:
pmap [options] pid [...]
-x:顯示詳細格式的信息;
描述:
報告進程的內存映射關係;
glances命令:
描述:
glances 能夠爲 Unix 和 Linux 性能專家提供監視和分析性能數據的功能,其中包括:CPU 使用率
內存使用狀況
內核統計信息和運行隊列信息
磁盤 I/O 速度、傳輸和讀/寫比率
文件系統中的可用空間
磁盤適配器
網絡 I/O 速度、傳輸和讀/寫比率
頁面空間和頁面速度
消耗資源最多的進程
計算機信息和系統資源
glances 工具能夠在用戶的終端上實時顯示重要的系統信息,並動態地對其進行更新。這個高效的工具能夠工做於任何終端屏幕。另外它並不會消耗大量的 CPU 資源,一般低於百分之二。glances 在屏幕上對數據進行顯示,而且每隔兩秒鐘對其進行更新。您也能夠本身將這個時間間隔更改成更長或更短的數值。glances 工具還能夠將相同的數據捕獲到一個文件,便於之後對報告進行分析和繪製圖形。輸出文件能夠是電子表格的格式 (.csv) 或者 html 格式。
經常使用選項:
-b:以Byte爲單位顯示網卡數據速率;
-d:關閉磁盤I/O模塊;
-o {HTML|CSV}:輸出格式;
-f /PATH/TO/SOMEFILE:設定輸出文件位置;
-m:禁用mount模塊;
-n:禁用網絡模塊;
-t #:延遲時間間隔;
-1:每一個CPU的相關數據單獨顯示;
glances的內鍵命令能夠按「h」獲取幫助。
c/s模式下運行glances命令:
服務模式:
glances -s -B IPADDR
IPADDR:指明監聽於本機哪一個地址;
客戶端模式:
glances -c IPADDR
IPADDR:要進入服務器端的地址;
dstat命令:
描述:
是一個全能系統信息統計工具,能夠實時的監控cpu、磁盤、網絡、IO、內存等使用狀況。
用法:
dstat [-afv] [options..] [delay [count]]
這是默認輸出顯示的信息:
CPU狀態:CPU的使用率。這項報告更有趣的部分是顯示了用戶,系統和空閒部分,這更好地分析了CPU當前的使用情況。若是你看到"wait"一欄中,CPU的狀態是一個高使用率值,那說明系統存在一些其它問題。當CPU的狀態處在"waits"時,那是由於它正在等待I/O設備(例如內存,磁盤或者網絡)的響應並且尚未收到。
磁盤統計:磁盤的讀寫操做,這一欄顯示磁盤的讀、寫總數。
網絡統計:網絡設備發送和接受的數據,這一欄顯示的網絡收、發數據總數。
分頁統計:系統的分頁活動。分頁指的是一種內存管理技術用於查找系統場景,一個較大的分頁代表系統正在使用大量的交換空間,或者說內存很是分散,大多數狀況下你都但願看到page in(換入)和page out(換出)的值是0 0。
系通通計:這一項顯示的是中斷(int)和上下文切換(csw)。這項統計僅在有比較基線時纔有意義。這一欄中較高的統計值一般表示大量的進程形成擁塞,須要對CPU進行關注。你的服務器通常狀況下都會運行運行一些程序,因此這項老是顯示一些數值。
默認狀況下,dstat每秒都會刷新數據。若是想退出dstat,你能夠按"CTRL-C"鍵。
經常使用選項:
-c:顯示cpu相關信息;
-d:顯示磁盤的讀寫速率;
-g:顯示頁面喚進喚出相關統計數據;
-i:顯示中斷的
-l:顯示負載:1min 5min 15min
-m:顯示內存(memory)相關統計數據;
-n:顯示網絡(network)相關統計數據;
-p:顯示進程(process)相關統計數據;
-r:顯示io請求 相關的統計數據;讀寫
-s:交換內存(swapped)的相關統計數據;
--top-cpu:顯示最佔用cpu的進程;
--top-io:顯示最佔用io的進程;
--top-bio:指出塊I/O最大的進程;
--top-mem:顯示最佔用內存的進程;
--top-lantency:顯示延遲最大的進程;
--proc-count:顯示正在運行的程序數量;