Linux服務器性能評估與優化(2)

發表于:2013-08-16來源:開源中國社區作者:原配點擊數: 標簽:linux
2.常用組合方式 用vmstat、sar、iostat檢測是否是CPU瓶頸 用free、vmstat檢測是否是內存瓶頸 用iostat檢測是否是磁盤I/O瓶頸 用netstat檢測是否是網絡帶寬瓶頸 四、

  2.常用組合方式

  • 用vmstat、sar、iostat檢測是否是CPU瓶頸

  • 用free、vmstat檢測是否是內存瓶頸

  • 用iostat檢測是否是磁盤I/O瓶頸

  • 用netstat檢測是否是網絡帶寬瓶頸

  四、Linux性能評估與優化

  1. 系統整體性能評估(uptime命令)

  [root@web1 ~]# uptime

  16:38:00 up 118 days, 3:01, 5 users, load average: 1.22, 1.02, 0.91

  這里需要注意的是:load average這個輸出值,這三個值的大小一般不能大于系統CPU的個數,例如,本輸出中系統有8個CPU,如果load average的三個值長期大于8時,說明CPU很繁忙,負載很高,可能會影響系統性能,但是偶爾大于8時,倒不用擔心,一般不會影響系統性能。相反,如果load average的輸出值小于CPU的個數,則表示CPU還有空閑的時間片,比如本例中的輸出,CPU是非??臻e的。

  2. CPU性能評估

  (1)利用vmstat命令監控系統CPU

  該命令可以顯示關于系統各種資源之間相關性能的簡要信息,這里我們主要用它來看CPU一個負載情況。

  下面是vmstat命令在某個系統的輸出結果:

  [root@node1 ~]# vmstat 2 3

  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 0 162240 8304 67032 0 0 13 21 1007 23 0 1 98 0 0

  0 0 0 162240 8304 67032 0 0 1 0 1010 20 0 1 100 0 0

  0 0 0 162240 8304 67032 0 0 1 1 1009 18 0 1 99 0 0

  l Procs

  r列表示運行和等待cpu時間片的進程數,這個值如果長期大于系統CPU的個數,說明CPU不足,需要增加CPU。

  b列表示在等待資源的進程數,比如正在等待I/O、或者內存交換等。

  l Cpu

  us列顯示了用戶進程消耗的CPU 時間百分比。us的值比較高時,說明用戶進程消耗的cpu時間多,但是如果長期大于50%,就需要考慮優化程序或算法。

  sy列顯示了內核進程消耗的CPU時間百分比。Sy的值較高時,說明內核消耗的CPU資源很多。

  根據經驗,us+sy的參考值為80%,如果us+sy大于 80%說明可能存在CPU資源不足。

  (2)利用sar命令監控系統CPU

  sar功能很強大,可以對系統的每個方面進行單獨的統計,但是使用sar命令會增加系統開銷,不過這些開銷是可以評估的,對系統的統計結果不會有很大影響。

  下面是sar命令對某個系統的CPU統計輸出:

  [root@webserver ~]# sar -u 3 5

  Linux 2.6.9-42.ELsmp (webserver) 11/28/2008 _i686_ (8 CPU)

  11:41:24 AM CPU %user %nice %system %iowait %steal %idle

  11:41:27 AM all 0.88 0.00 0.29 0.00 0.00 98.83

  11:41:30 AM all 0.13 0.00 0.17 0.21 0.00 99.50

  11:41:33 AM all 0.04 0.00 0.04 0.00 0.00 99.92

  11:41:36 AM all 90.08 0.00 0.13 0.16 0.00 9.63

  11:41:39 AM all 0.38 0.00 0.17 0.04 0.00 99.41

  Average: all 0.34 0.00 0.16 0.05 0.00 99.45

  對上面每項的輸出解釋如下:

  l %user列顯示了用戶進程消耗的CPU 時間百分比。

  l %nice列顯示了運行正常進程所消耗的CPU 時間百分比。

  l %system列顯示了系統進程消耗的CPU時間百分比。

  l %iowait列顯示了IO等待所占用的CPU時間百分比

  l %steal列顯示了在內存相對緊張的環境下pagein強制對不同的頁面進行的steal操作 。

  l %idle列顯示了CPU處在空閑狀態的時間百分比。

  問題

  1.你是否遇到過系統CPU整體利用率不高,而應用緩慢的現象?

  在一個多CPU的系統中,如果程序使用了單線程,會出現這么一個現象,CPU的整體使用率不高,但是系統應用卻響應緩慢,這可能是由于程序使用單線程的原因,單線程只使用一個CPU,導致這個CPU占用率為100%,無法處理其它請求,而其它的CPU卻閑置,這就導致了整體CPU使用率不高,而應用緩慢現象的發生。

  3. 內存性能評估

  (1)利用free指令監控內存

  free是監控linux內存使用狀況最常用的指令,看下面的一個輸出:

  [root@webserver ~]# free -m

  total used free shared buffers cached

  Mem: 8111 7185 926 0 243 6299

  -/+ buffers/cache: 643 7468

  Swap: 8189 0 8189

  一般有這樣一個經驗公式:應用程序可用內存/系統物理內存>70%時,表示系統內存資源非常充足,不影響系統性能,應用程序可用內存/系統物理內存<20%時,表示系統內存資源緊缺,需要增加系統內存,20%<應用程序可用內存/系統物理內存<70%時,表示系統內存資源基本能滿足應用需求,暫時不影響系統性能。

  3.內存性能評估

  (1)利用free指令監控內存

  free是監控linux內存使用狀況最常用的指令,看下面的一個輸出:

  [root@webserver ~]# free -m

  total used free shared buffers cached

  Mem: 8111 7185 926 0 243 6299

  -/+ buffers/cache: 643 7468

  Swap: 8189 0 8189

  一般有這樣一個經驗公式:應用程序可用內存/系統物理內存>70%時,表示系統內存資源非常充足,不影響系統性能,應用程序可用內存/系統物理內存<20%時,表示系統內存資源緊缺,需要增加系統內存,20%<應用程序可用內存/系統物理內存<70%時,表示系統內存資源基本能滿足應用需求,暫時不影響系統性能。

  (2)利用vmstat命令監控內存

  [root@node1 ~]# vmstat 2 3

  procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------

原文轉自:http://my.oschina.net/hyp3/blog/71240

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97