負(fù)載(load)時一個linux 機(jī)器的重要指標(biāo),直觀反應(yīng)了linux 服務(wù)器當(dāng)前狀態(tài)验游。
linux 負(fù)載高充岛,主要體現(xiàn)在:cpu 的使用保檐、內(nèi)存使用、io消耗 崔梗。
1夜只,top 命令 ,采用于linux 命令蒜魄。
top命令能夠清晰的展現(xiàn)出系統(tǒng)的狀態(tài)扔亥,而且它是實(shí)時的監(jiān)控,按q退出谈为。
Tasks行展示了目前的進(jìn)程總數(shù)及所處狀態(tài)旅挤,要注意zombie,表示僵尸進(jìn)程伞鲫,不為0則表示有進(jìn)程出現(xiàn)問題粘茄。
Cpu(s)行展示了當(dāng)前CPU的狀態(tài),us表示用戶進(jìn)程占用CPU比例秕脓,sy表示內(nèi)核進(jìn)程占用CPU比例柒瓣,id表示空閑CPU百分比,wa表示IO等待所占用的CPU時間的百分比吠架。wa占用超過30%則表示IO壓力很大芙贫。
Mem行展示了當(dāng)前內(nèi)存的狀態(tài),total是總的內(nèi)存大小傍药,userd是已使用的磺平,free是剩余的,buffers是目錄緩存怔檩。
Swap行同Mem行褪秀,cached表示緩存,用戶已打開的文件薛训。如果Swap的used很高媒吗,則表示系統(tǒng)內(nèi)存不足。
在top命令下乙埃,按1闸英,則可以展示出服務(wù)器有多少CPU,及每個CPU的使用情況
一般而言介袜,服務(wù)器的合理負(fù)載是CPU核數(shù)*2甫何。也就是說對于8核的CPU,負(fù)載在16以內(nèi)表明機(jī)器運(yùn)行很穩(wěn)定流暢遇伞。如果負(fù)載超過16了辙喂,就說明服務(wù)器的運(yùn)行有一定的壓力了。
在top命令下,按shift + "c"巍耗,則將進(jìn)程按照CPU使用率從大到小排序秋麸,按shift+"p",則將進(jìn)程按照內(nèi)存使用率從大到小排序炬太,很容易能夠定位出哪些服務(wù)占用了較高的CPU和內(nèi)存灸蟆。
2,iostat命令(使用iostat -x 命令來監(jiān)控io的輸入輸出是否過大),
僅僅有top命令是不夠的亲族,因?yàn)樗鼉H能展示CPU和內(nèi)存的使用情況炒考,
對于負(fù)載升高的另一重要原因——IO沒有清晰明確的展示。
linux提供了iostat命令霎迫,可以了解io的開銷斋枢。
輸入iostat -x 1 10命令,表示開始監(jiān)控輸入輸出狀態(tài)女气,-x表示顯示所有參數(shù)信息杏慰,1表示每隔1秒監(jiān)控一次,10表示共監(jiān)控10次炼鞠。
其中rsec/s表示讀入缘滥,wsec/s表示每秒寫入,這兩個參數(shù)某一個特別高的時候就表示磁盤IO有很大壓力谒主,util表示IO使用率朝扼,如果接近100%,說明IO滿負(fù)荷運(yùn)轉(zhuǎn)霎肯。