[ 系統狀態 ]
OS => | 作業系統運行狀態 ( 線程隊列, TCP/IP狀態 ... )
-------------------------------------------
硬體 => | 硬體工作狀態 (CPU, 記憶體, 磁碟, 網卡 ...)
vmstat, iostat, sar, pidstat... 都源自sysstat套件
綜合查看三大件:
# vmstat 1
查看網路:
# sar -n DEV 1
查看磁碟IO細節:
# iostat -k -x 1
[ 進程狀態 ]
# pidstat -urdw -p *** 1
CPU
# pidstat -u -p *** 1
MEM
# pidstat -r -p *** 1
DISK IO
# pidstat -d -p *** 1
CONTEXT SWITCH
# pidstat -w -p *** 1
Major (requiring I/O) page faults(MPF): 從磁碟裡調入頁
Minor (reclaiming a frame) page faults(MnPF: 從記憶體裡(cache)調入頁
buffer是寫時用的
cache是讀時用的,讀檔案時順帶把檔案留在記憶體中。(MnPF機制)
Type of Memory Pages
在Linux 核心中,memory pages有3種,分別是:
1,Read Pages - 這些頁通過MPF 從磁碟中讀入,而且是唯讀.這些頁存在於Buffer Cache中以及包括不能夠修改的靜態檔案,二進位檔案,還有庫檔案.當核心需要它們時,將讀取到記憶體中.如果記憶體不足,核心將釋放它們回空閑列表中.程式再次請求時,則通過MPF 再次讀回記憶體.
2,Dirty Pages - 這些頁是核心在記憶體中已經被修改過的資料頁.當這些頁需要同步回磁碟上,由pdflush 負責寫回磁碟.如果記憶體不足,kswapd (與pdflush 一起)將這些頁寫回到磁碟上並釋放更多的記憶體.
3,Anonymous Pages - 這些頁屬於某個進程,但是沒有任何磁碟檔案和它們有關.他們不能和同步回磁碟.如果記憶體不足,kswapd 將他們寫入swap 分區上並釋放更多的記憶體("swapping" pages).