$uptime23:51:26up21:31,1user,loadaverage:30.02,26.43,19.0212
該命令可以大致的看出計算機的整體負載情況,load average后的數(shù)字分別表示計算機在1min、5min、15min內(nèi)的平均負載。
2. dmesg | tail
$dmesg|tail[1880957.563150]perlinvokedoom-killer:gfp_mask=0x280da,order=0,oom_score_adj=0[...][1880957.563400]Outofmemory:Killprocess18694(perl)score246orsacrificechild[1880957.563408]Killedprocess18694(perl)total-vm:1972392kB,anon-rss:1953348kB,file-rss:0kB[2320864.954447]TCP:PossibleSYNfloodingonport7001.Droppingrequest.CheckSNMPcounters.123456
打印內(nèi)核環(huán)形緩存區(qū)中的內(nèi)容,可以用來查看一些錯誤;
上面的例子中,顯示進程18694 因引內(nèi)存越界被kill掉以及TCP request被丟棄的錯誤。linux常用命令通過dmesg可以快速判斷是否有導(dǎo)致系統(tǒng)性能異常的問題。
3. vmstat 1
$vmstat1procs---------memory-------------swap-------io-----system--------cpu-----rbswpdfreebuffcachesisobiboincsussyidwast3400200889792737085918280005610961300320020088992073708591860000592132844282981100320020089011273708591860000095012154991000320020088956873712591856000481190024599900003200200890208737125918600000158984840981100^C123456789
打印進程、內(nèi)存、交換分區(qū)、IO和CPU等的統(tǒng)計信息;
vmstat的格式如下
>vmstat[options][delay[count]]
vmstat第一次輸出表示從開機到vmstat運行時的平均值;剩余輸出的都是在指定的時間間隔內(nèi)的平均值,上述例子中delay的值設(shè)置為1,除第一次以外,剩余的都是1秒統(tǒng)計一次,count未設(shè)置,將會一直循環(huán)打印。linux常用命令
$vmstat103procs-----------memory-------------swap-------io-----system--------cpu-----rbswpdfreebuffcachesisobiboincsussyidwast1002527112108688813720228001142111990000025271561086888137198560001043003490100990000025264121086888137199040001033454870019900123456
上述的例子中delay設(shè)置為10,count設(shè)置為3,表示每行打印10秒內(nèi)的平均值,只打印3次。
需要檢查的列
r:表示正在運行或者等待CPU調(diào)度的進程數(shù)。因為該列數(shù)據(jù)不包含I/O的統(tǒng)計信息,因此可以用來檢測CPU是否飽和。若r列中的數(shù)字大于CPU的核數(shù),表示CPU已經(jīng)處于飽和狀態(tài)。