
1.Vmstat
2.Top3.Free
4.Uptime
5.sysstat工具包
6. Iozone
7. Strace
工具介紹-Vmstat
Vmstat是一個很全面的,可以觀察到系統的進程狀態、內存使用、虛擬內存使用、磁盤的IO、中斷、上下文切換、CPU使用等。
sysstat主要說明這個命令顯示出的部分數據代表的含義,和它反映出系統相關資源的狀況。輸出內容共有6類,分別說明如下。
Procs
–r: 運行的和等待(CPU時間片)運行的進程數,這個值也可以判斷是否需要增加CPU(長期大于1)
– b:處于不可中斷狀態的進程數,的情況是由IO引起的
Memory (默認以KB為單位)
–swpd:切換到交換內存上的內存
?如果 swpd 的值不為0,或者還比較大,比如超過100M了,但是 si, so 的值長期為 0,這種情況我們可以不用擔心,不會影響系統性能。
– free: 空閑的物理內存
–buff: 作為buffer cache的內存,對塊設備的讀寫進行緩沖
–cache: 作為page cache的內存, 文件系統的cache
? 如果 cache 的值大的時候,說明cache住的文件數多,如果頻繁訪問到的文件都能被cache住,那么磁盤的讀IO bi會非常 Swap
–si: 交換內存使用,由磁盤調入內存
–so:交換內存使用,由內存調入磁盤內存夠用的時候,這2個值都是0,如果這2個值長期大于0時,系統性能會受到影響。磁盤IO和CPU資源都會被消耗。
有些人看到空閑內存(free)很少或接近于0時,就認為內存不夠用了,實際上不能光看這一點的,還要結合si,so,如果free很少,但是si,so也很少
(大多時候是0),那么不用擔心,系統性能這時不會受到影響的。
Io
?bi: 從塊設備讀入的數據總量(讀磁盤) (KB/s),
? bo: 寫入到塊設備的數據總理(寫磁盤) (KB/s) 隨機磁盤讀寫的時候,這2個值越大(如超出1M),能看到CPU在IO等待的值也會越大System
– in: 每秒產生的中斷次數
– cs: 每秒產生的上下文切換次數 上面這2個值越大,會看到由內核消耗的CPU時間會越多Cpu
– s: 用戶進程消耗的CPU時間百分比 ?us 的值比較高時,說明用戶進程消耗的CPU時間多,但是如果長期超過50% 的使用,那么我們就該考慮優化程序算法或者進行加速了(比如 PHP/Perl)
–sy: 內核進程消耗的CPU時間百分比
?sy 的值高時,說明系統內核消耗的CPU資源多,這并不是良性的表現,我們應該檢查原因。
–wa: IO等待消耗的CPU時間百分比
? wa 的值高時,說明IO等待比較嚴重,這可能是由于磁盤大量作隨機訪問造成,也有可能是磁盤的帶寬出現瓶頸(塊操作)。
– id: CPU處在空閑狀態時間百分比
h.情景分析
這個vmstat
的輸出那些信息值得關注?
–Procs r:
運行的進程比較多,系統很繁忙
– Io bo:
磁盤寫的數據量稍大,如果是大文件的寫,10M以內基本不用擔心,如果是小文件寫2M以內基本正常
–Cpu us: 持續大于50,服務高峰期可以接受
– Cpu wa: 稍微有些高
–Cpu id:持續小于50,服務高峰期可以接受
手機瀏覽
全國
19974831731





