1歇攻、如何判斷系統(tǒng)是否已經(jīng)Over Load固惯?
根據(jù)cpu數(shù)量去判斷。如果平均負(fù)載始終在1.2一下缴守,而你有2顆cup的機(jī)器葬毫。那么基本不會(huì)出現(xiàn)cpu不夠用的情況镇辉。
也就是Load平均要小于Cpu的數(shù)量。
2贴捡、查看系統(tǒng)負(fù)載vmstat
procs
r 列表示運(yùn)行和等待cpu時(shí)間片的進(jìn)程數(shù)忽肛,如果長(zhǎng)期大于1,說(shuō)明cpu不足烂斋,需要增加cpu屹逛。
b 列表示在等待資源的進(jìn)程數(shù),比如正在等待I/O汛骂、或者內(nèi)存交換等罕模。
cpu 表示cpu的使用狀態(tài)
us的值比較高時(shí),說(shuō)明用戶進(jìn)程消耗的cpu時(shí)間多帘瞭,但是如果長(zhǎng)期大于50%郎楼,需要考慮優(yōu)化用戶的程序泄隔。
sy 列顯示了內(nèi)核進(jìn)程所花費(fèi)的cpu時(shí)間的百分比麻蹋。這里us + sy的參考值為80%韩肝,如果us+sy 大于 80%說(shuō)明可能存在CPU不足。
wa 列顯示了IO等待所占用的CPU時(shí)間的百分比祸轮。這里wa的參考值為30%兽埃,如果wa超過(guò)30%,說(shuō)明IO等待嚴(yán)重适袜,這可能是磁盤大量隨機(jī)訪問(wèn)造成的柄错,也可能磁盤或者磁盤訪問(wèn)控制器的帶寬瓶頸造成的(主要是塊操作)。
id 列顯示了cpu處在空閑狀態(tài)的時(shí)間百分比
system 顯示采集間隔內(nèi)發(fā)生的中斷數(shù)
in 列表示在某一時(shí)間間隔中觀測(cè)到的每秒設(shè)備中斷數(shù)苦酱。
cs列表示每秒產(chǎn)生的上下文切換次數(shù)售貌,如當(dāng) cs 比磁盤 I/O 和網(wǎng)絡(luò)信息包速率高得多,都應(yīng)進(jìn)行進(jìn)一步調(diào)查疫萤。
memory
swpd 切換到內(nèi)存交換區(qū)的內(nèi)存數(shù)量(k表示)颂跨。如果swpd的值不為0,或者比較大扯饶,比如超過(guò)了100m恒削,只要si、so的值長(zhǎng)期為0尾序,系統(tǒng)性能還是正常
free 當(dāng)前的空閑頁(yè)面列表中內(nèi)存數(shù)量(k表示)
buff 作為buffer cache的內(nèi)存數(shù)量钓丰,一般對(duì)塊設(shè)備的讀寫才需要緩沖。
cache: 作為page cache的內(nèi)存數(shù)量每币,一般作為文件系統(tǒng)的cache携丁,如果cache較大,說(shuō)明用到cache的文件較多兰怠,如果此時(shí)IO中bi比較小梦鉴,說(shuō)明文件系統(tǒng)效率比較好李茫。
swap
si 由內(nèi)存進(jìn)入內(nèi)存交換區(qū)數(shù)量。
so由內(nèi)存交換區(qū)進(jìn)入內(nèi)存數(shù)量尚揣。
IO
bi 從塊設(shè)備讀入數(shù)據(jù)的總量(讀磁盤)(每秒kb)涌矢。
bo 塊設(shè)備寫入數(shù)據(jù)的總量(寫磁盤)(每秒kb)
這里我們?cè)O(shè)置的bi+bo參考值為1000掖举,如果超過(guò)1000快骗,而且wa值較大應(yīng)該考慮均衡磁盤負(fù)載,可以結(jié)合iostat輸出來(lái)分析塔次。
3方篮、 cat /proc/loadavg (uptime、w励负、top)
0.18 0.09 0.11 1/396 31537
除了前3個(gè)數(shù)字表示平均進(jìn)程數(shù)量外藕溅,后面的1個(gè)分?jǐn)?shù),分母表示系統(tǒng)進(jìn)程總數(shù)继榆,分子表示正在運(yùn)行的進(jìn)程數(shù)巾表;最后一個(gè)數(shù)字表示最近運(yùn)行的進(jìn)程ID.
grep 'model name' /proc/cpuinfo | wc -l (CPU數(shù))
取得CPU核心數(shù)目N,觀察后面2個(gè)數(shù)字(五分鐘略吨,15分鐘的負(fù)載數(shù)字)集币,用數(shù)字/N,如果得到的值小于0.7即可無(wú)憂