尋找Linux單機負(fù)載瓶頸

服務(wù)器性能上不去,是哪里出了問題?IO還是CPU?只有找到瓶頸點,才能對癥下藥; 如何尋找Linux單機負(fù)載瓶頸,遵循的原則是不要推測,我們要通過測量的數(shù)據(jù)說話;
負(fù)載分兩類: 1.CPU負(fù)載; 2.IO負(fù)載;
排查流程1.查看平均負(fù)載(top/uptime命令) 2.確認(rèn)CPU、IO有無瓶頸;(使用 sar vmstat) 3.CPU負(fù)載過高時尋找流程: 4.IO負(fù)載過高時尋找流程;
查看平均負(fù)載先通過top命令查看服務(wù)器是否出現(xiàn)負(fù)載過重的狀況,之后,再具體使用工具來分析出是CPU負(fù)載過高還是IO負(fù)載過高; 比如,使用sar工具查看CPU使用率和IO等待率(sar的具體使用教程參考大CC的這篇文章: http://blog.me115.com/2013/12/468 top的結(jié)果: load average:0.7, 0.66,0.59 平均負(fù)載分別表明從左到右1分鐘、5分鐘、15分鐘內(nèi),單位時間內(nèi)處于等待狀態(tài)的任務(wù)數(shù); (等待 的意思 表明在等待cpu、或者等待IO)
CPU負(fù)載過高時的尋找流程使用top、sar確認(rèn)目標(biāo)程序; 再通過ps查看進(jìn)程狀態(tài)和CPU使用時間等; 進(jìn)一步尋找:通過strace 或 oPRofile命令;
IO負(fù)載過高的尋找流程IO負(fù)載過高,多半是程序發(fā)出的IO請求過多導(dǎo)致負(fù)載過高,或是發(fā)生頁面交互導(dǎo)致頻繁訪問磁盤; 應(yīng)通過sar或vmstat確認(rèn)交換區(qū)狀態(tài),以找出原因; 如果是發(fā)生頁面交互的情況,通過以下步驟調(diào)查: 1.使用ps工具確認(rèn)是否有進(jìn)程消耗了大量內(nèi)存; 2.如果由于程序故障造成內(nèi)存消息過大,應(yīng)改進(jìn)程序; 3.內(nèi)存不足則增加內(nèi)存;
如果沒有交換發(fā)生,而且磁盤IO頻繁,可能是用于緩存的內(nèi)存不足; 1.考慮擴(kuò)大緩存,增加內(nèi)存; 2.考慮分散存儲
Posted by: 大CC | 04APR,2014 博客:blog.me115.com 微博:新浪微博
|
新聞熱點
疑難解答
圖片精選