linux調優的一點總結

czxin788發表於2015-01-22

今天,總結一下linux作業系統調優的一點心得:


1、top
    
     如果透過top (按P根據cpu降序排列,按M根據記憶體降序排列)檢視平均負載很高,但cpu空閒卻很高,可是系統卻很慢,按數字1發
現單個cpu使用非常高。然後接著看top裡面的程式,狀態為D的是不可中斷的睡眠狀態 就是處於鎖狀態下,狀態為
z的是殭屍程式,這兩種程式很有可能是導致平均負載高的罪魁禍首。


2、vmstat

[root@node1 rman_backup]# vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0 1938216  55616  45668 659332    0    0   318    45    1    2  1  1 98  1  0

     
     調優我喜歡用的命令就是vmstat,因為透過它可以看記憶體和cpu的使用情況。
    一般關注以下兩列就行:
     檢視swap列,如果si,so列值不為0,說明記憶體不夠用了(有些朋友看到空閒記憶體(FREE)很少的或接近於0時,就認為記憶體不夠用了,實際上不能光看
這一點,還要結合si,so,如果free很少,但是si,so也很少(大多時候是0),那麼不用擔心,系統效能這時不會受到影響的)。
     在cpu列中,wa表示I/O等待消耗的CPU時間百分比。wa的值高時(超過30%),說明I/O等待比較嚴重,這可能由於磁碟大量做隨機訪問造成,也有可能磁碟出現瓶頸(塊操作),即可能是sql的問題。



3、iostat

[root@node1 rman_backup]# iostat -x  2 3
Linux 2.6.18-194.el5 (node1.localdomain)        01/22/2015
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.84    0.05    0.52    0.87    0.00   97.73
Device:         rrqm/s   wrqm/s   r/s   w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.14     6.80  0.28  4.53     6.17    90.60    20.15     0.12   24.73   1.08   0.52
sda1              0.02     6.57  0.23  4.51     4.86    88.67    19.72     0.05   10.27   0.91   0.43
sda2              0.12     0.22  0.04  0.02     1.31     1.93    53.77     0.07 1162.37  38.64   0.23


    
    透過iostat,關注%util和%idle的值就行。
    如果看到 %util高到百分之八九十,%idle小於70%,那麼說明這塊磁碟很忙。然後再用top看一下,如果wait高,平均負載也高,那麼很明顯就是CPU等待資料處理 ,瓶頸應該是在硬碟上。

4、轉一個“淺談Linux記憶體管理機制”的文章:



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28916011/viewspace-1411423/,如需轉載,請註明出處,否則將追究法律責任。

相關文章