cpu
一般查看top 看其1分鐘,5分鐘.15分鐘的負載情況,若5分鐘和15分鐘的值超過了cpu個數的兩倍,則一般需要優化。若低于cpu個數,則說明系統運行正常。若長期低于1,則表示系統處于空閑狀態。
vmstat 命令也可以查看 進程,內存,swap,磁盤io,cpu使用等。
cpu顯示了用戶進程和內核進程所消耗的cpu時間百分比,us較高說明用戶進程消耗的cpu時間多,us+sy產考值一般為80%,若長期大于80%則表示cpu不足。swpd 表示交換分區使用,一般si、so的值為0,若兩個值長期不為0則表示系統內存不足,需要增加系統內存。io表示磁盤讀寫,bi+bo產考值為1000,若大于1000則wa值較大,表示系統磁盤io有問題。system項顯示采集間隔內發生的中斷數,in和cs這兩個值越大,會看到由內核消耗的cpu時間會越多。
內存
top命令進行查看
mem 表示內存 依次為總內存 空閑內存 已使用的 用于緩存文件系統的內存
swap 表示交換 總大小 空閑的交換分區 使用的交換分區 可用的交換分區
vmstat 命令查看
內存的監控
free 命令
total:物理內存的總大小。
used:已經使用的物理內存多小。
free:空閑的物理內存值。
shared:多個進程共享的內存值。
buffers/cached:磁盤緩存的大小。
第二行Mem:代表物理內存使用情況。
第三行(-/+ buffers/cached):代表磁盤緩存使用狀態。
第四行:Swap表示交換空間內存使用狀態。
free命令輸出的內存狀態,可以通過兩個角度來查看:一個是從內核的角度來看,一個是從應用層的角度來看的。
1.從內核的角度來查看內存的狀態
若簡單的從free 去看系統剩余空間的話-----內核完全控制著內存的使用情況,linux會在需要內存的時候,或在系統運行逐步推進時,將buffers和cached狀態的內存變為free狀態的內存,以供系統使用。
2.從應用層的角度來看系統內存的使用狀態
也就是linux上運行的應用程序可以使用的內存大小,應用程序可用的物理內存值是Mem項的free值加上buffers和cached值之和,也就是說,這個free值是包括buffers和cached項大小的。對于應用程序來說,buffers/cached占有的內存是可用的,因為buffers/cached是為了提高文件讀取的性能,當應用程序需要用到內存的時候,buffers/cached會很快地被回收,以供應用程序使用。
buffers與cached都是內存操作,用來保存系統曾經打開過的文件以及文件屬性信息,這樣當操作系統需要讀取某些文件時,會首先在buffers與cached內存區查找,如果找到,直接讀出傳送給應用程序,如果沒有找到需要數據,才從磁盤讀取,這就是操作系統的緩存機制,通過緩存,大大提高了操作系統的性能。但buffers與cached緩沖的內容卻是不同的。
buffers是用來緩沖塊設備做的,它只記錄文件系統的元數據(metadata)以及 tracking in-flight pages,而cached是用來給文件做緩沖。更通俗一點說:buffers主要用來存放目錄里面有什么內容,文件的屬性以及權限等等。而cached直接用來記憶我們打開過的文件和程序。
硬盤IO
IOStat 命令查看
tps表示每秒鐘發送的I/O 請求數,kB_read/s 表示每秒讀取的數據塊,kB_wrtn/s 表示每秒寫入的數據塊,kB_read 表示讀取的所有數據塊,kb_wrtn表示寫入的所有數據塊.