監控linux系統,系統本身就有內置的工具,大多數linux發行版本都裝備了很多的監控工具。
一下介紹一些內置常用的linux監控工具:
1,top - 查看進程活動
top是好工具啊,很全面的展示出了當前運行系統實時動態的視圖,默認情況下,5秒鐘刷新一次。
top指令介紹:
-b 使用批處理模式。(批次模式運行)
-c 列出程序時,顯示每個程序的完整指令,包括指令名稱,路徑和參數等相關信息。(顯示執行任務的命令行)
-d <間隔秒數> 設置top監控程序執行狀況的間隔時間,單位以秒計算。(設定延遲的時間)
-i 執行top指令時,忽略閒置或是已成爲Zombie的程序。(顯示空閒的進程)
-n 設置監控信息的更新次數。(執行次數,一般與-b一起搭配使用)
-s 使用保密模式,消除互動模式下的潛在危機。(安全模式下操作)
-S 使用累計模式,其效果類似ps指令的"-S"參數。(累計時間模式)
2.vmstat-查看系統活動,硬件及系統信息,使用vmstat可以得到關於進程,內存,內存分頁,堵塞IO,traps以及CPU活動的信息。
vmstat指令介紹:
-a:顯示活躍和非活躍內存
-f:顯示從系統啓動至今的fork數量 。引申閱讀:
-m:顯示slabinfo
-n:只在開始時顯示一次各字段名稱。
-s:顯示內存相關統計信息及多種系統活動數量。
delay:刷新時間間隔。如果不指定,只顯示一條結果。
count:刷新次數。如果不指定刷新次數,但指定了刷新時間間隔,這時刷新次數爲無窮。
-d:顯示磁盤相關統計信息。
-p:顯示指定磁盤分區統計信息
-S:使用指定單位顯示。參數有 k 、K 、m 、M ,分別代表1000、1024、1000000、1048576字節(byte)。默認單位爲K(1024 bytes)
-V:顯示vmstat版本信息
輸出數值解讀下:
Procs(進程):
r: 運行隊列中進程數量
b: 等待IO的進程數量
Memory(內存):
swpd: 使用虛擬內存大小
free: 可用內存大小
buff: 用作緩衝的內存大小
cache: 用作緩存的內存大小
Swap:
si: 每秒從交換區寫到內存的大小
so: 每秒寫入交換區的內存大小
IO:(現在的Linux版本塊的大小爲1024bytes)
bi: 每秒讀取的塊數
bo: 每秒寫入的塊數
系統:
in: 每秒中斷數,包括時鐘中斷。
cs: 每秒上下文切換數。
CPU(以百分比表示):
us: 用戶進程執行時間(user time)
sy: 系統進程執行時間(system time)
id: 空閒時間(包括IO等待時間)
wa: 等待IO時間
3,w-現實誰已登陸,他們在做什麼呢?
w命令現實系統當前用戶及其運行進程的信息。
4,uptime-告訴我們系統已經運行了多長時間了。
5,ps-顯示進程
ps命令顯示當前運行進程的快照。-A顯示所有進程。
該命令語法格式如下:
ps [選項]
-e 顯示所有進程,環境變量
-f 全格式
-h 不顯示標題
-l 長格式
-w 寬輸出
a 顯示終端上的所有進程,包括其他用戶的進程
r 只顯示正在運行的進程
x 顯示沒有控制終端的進程
推薦方法:
6,free-內存使用情況
7,iostat-查看cpu平均負載,硬盤活動