亚洲欧美精品沙发,日韩在线精品视频,亚洲Av每日更新在线观看,亚洲国产另类一区在线5

<pre id="hdphd"></pre>

  • <div id="hdphd"><small id="hdphd"></small></div>
      學習啦 > 學習電腦 > 操作系統(tǒng) > Linux教程 > linux系統(tǒng)性能怎么調優(yōu)

      linux系統(tǒng)性能怎么調優(yōu)

      時間: 春健736 分享

      linux系統(tǒng)性能怎么調優(yōu)

        由于系統(tǒng)軟、硬件配置不當,造成Linux系統(tǒng)性能問題,那么你知道linux系統(tǒng)性能怎么調優(yōu)嗎?小編帶來了 linux系統(tǒng)性能調優(yōu)的具體操作過程,下面大家跟著學習啦小編一起來學習一下吧。

        linux系統(tǒng)性能調優(yōu)方法

        性能調優(yōu)的第一步是性能分析,下面從性能分析著手進行一些介紹,尤其對linux性能分析工具vmstat的用法和實踐進行詳細介紹。

        1.性能分析的目的

        1)找出系統(tǒng)性能瓶頸(包括硬件瓶頸和軟件瓶頸);

        2)提供性能優(yōu)化的方案(升級硬件?改進系統(tǒng)系統(tǒng)結構?);

        3)達到合理的硬件和軟件配置;

        4)使系統(tǒng)資源使用達到最大的平衡。(一般情況下系統(tǒng)良好運行的時候恰恰各項資源達到了一個平衡體,任何一項資源的過渡使用都會造成平衡體系破壞,從而造成系統(tǒng)負載極高或者響應遲緩。比如CPU過渡使用會造成大量進程等待CPU資源,系統(tǒng)響應變慢,等待會造成進程數增加,進程增加又會造成內存使用增加,內存耗盡又會造成虛擬內存使用,使用虛擬內存又會造成磁盤IO增加和CPU開銷增加)

        2.影響性能的因素

        1)CPU(cpu的速度與性能很大一部分決定了系統(tǒng)整體的性能,是否使用SMP)

        2)內存(物理內存不夠時會使用交換內存,使用swap會帶來磁盤I0和cpu的開銷)

        3)硬盤(存儲系統(tǒng))

        a.Raid技術使用(RAID0, RAID1, RAID5, RAID0+1)

        b.小文件讀寫瓶頸是磁盤的尋址(tps),大文件讀寫的性能瓶頸是帶寬

        c.Linux可以利用空閑內存作文件系統(tǒng)訪問的cache,因此系統(tǒng)內存越大存儲系統(tǒng)的性能也越好

        4)網絡帶寬。

        3.性能分析的步驟

        1)對資源的使用狀況進行長期的監(jiān)控和數據采集(nagios、cacti)

        2)使用常見的性能分析工具(vmstat、top、free、iostat等)

        3)經驗積累

        a.應用程序設計的缺陷和數據庫查詢的濫用最有可能導致性能問題

        b.性能瓶頸可能是因為程序差/內存不足/磁盤瓶頸,但最終表現出的結果就是CPU耗盡,系統(tǒng)負載極高,響應遲緩,甚至暫時失去響應

        c.物理內存不夠時會使用交換內存,使用swap會帶來磁盤I0和cpu的開銷

        d.可能造成cpu瓶頸的問題:頻繁執(zhí)Perl,php,java程序生成動態(tài)web;數據庫查詢大量的where子句、order by/group by排序……

        e.可能造成內存瓶頸問題:高并發(fā)用戶訪問、系統(tǒng)進程多,java內存泄露……

        f.可能造成磁盤IO瓶頸問題:生成cache文件,數據庫頻繁更新,或者查詢大表……

        4.vmstat詳細介紹

        vmstat是一個很全面的性能分析工具,可以觀察到系統(tǒng)的進程狀態(tài)、內存使用、虛擬內存使用、磁盤的IO、中斷、上下文切換、CPU使用等。對于 Linux 的性能分析,100%理解 vmstat 輸出內容的含義,并能靈活應用,那對系統(tǒng)性能分析的能力就算是基本掌握了。

        下面是vmstat命令的輸出結果:

        [root@monitor-www ~]# vmstat 1 5

        procs —————memory————— ——swap—— ——io—— ——system—— ——cpu——

        r b swpd free buff cache si so bi bo in cs us sy id wa st

        1 0 84780 909744 267428 1912076 0 0 20 94 0 0 2 1 95 1 0

        1 2 84780 894968 267428 1912216 0 0 0 1396 2301 11337 8 3 89 0 0

        1 0 84780 900680 267428 1912340 0 0 76 1428 1854 8082 7 2 90 0 0

        1 0 84780 902544 267432 1912548 0 0 116 928 1655 7502 7 2 92 0 0

        2 0 84780 900076 267432 1912948 0 0 180 904 1963 8703 10 3 87 0 0

        對輸出解釋如下:

        1)procs

        a.r列表示運行和等待CPU時間片的進程數,這個值如果長期大于系統(tǒng)CPU個數,就說明CPU資源不足,可以考慮增加CPU;

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

        2)memory

        a.swpd列表示切換到內存交換區(qū)的內存數量(以KB為單位)。如果swpd的值不為0或者比較大,而且si、so的值長期為0,那么這種情況一般不用擔心,不會影響系統(tǒng)性能;

        b.free列表示當前空閑的物理內存數量(以KB為單位);

        c.buff列表示buffers cache的內存數量,一般對塊設備的讀寫才需要緩沖;

        d.cache列表示page cached的內存數量,一般作文件系統(tǒng)的cached,頻繁訪問的文件都會被cached。如果cached值較大,就說明cached文件數較多。如果此時IO中的bi比較小,就說明文件系統(tǒng)效率比較好。

        3)swap

        a.si列表示由磁盤調入內存,也就是內存進入內存交換區(qū)的數量;

        b.so列表示由內存調入磁盤,也就是內存交換區(qū)進入內存的數量

        c.一般情況下,si、so的值都為0,如果si、so的值長期不為0,則表示系統(tǒng)內存不足,需要考慮是否增加系統(tǒng)內存。

        4)IO

        a.bi列表示從塊設備讀入的數據總量(即讀磁盤,單位KB/秒)

        b.bo列表示寫入到塊設備的數據總量(即寫磁盤,單位KB/秒)

        這里設置的bi+bo參考值為1000,如果超過1000,而且wa值比較大,則表示系統(tǒng)磁盤IO性能瓶頸。

        5)system

        a.in列表示在某一時間間隔中觀察到的每秒設備中斷數;

        b.cs列表示每秒產生的上下文切換次數。

        上面這兩個值越大,會看到內核消耗的CPU時間就越多。

        6)CPU

        a.us列顯示了用戶進程消耗CPU的時間百分比。us的值比較高時,說明用戶進程消耗的CPU時間多,如果長期大于50%,需要考慮優(yōu)化程序啥的。

        b.sy列顯示了內核進程消耗CPU的時間百分比。sy的值比較高時,就說明內核消耗的CPU時間多;如果us+sy超過80%,就說明CPU的資源存在不足。

        c.id列顯示了CPU處在空閑狀態(tài)的時間百分比;

        d.wa列表示IO等待所占的CPU時間百分比。wa值越高,說明IO等待越嚴重。如果wa值超過20%,說明IO等待嚴重。

        e.st列一般不關注,虛擬機占用的時間百分比。

        看過“ linux系統(tǒng)性能怎么調優(yōu)”的人還看了:

      1.linuxdeepin操作系統(tǒng)介紹

      2.deepinlinux操作系統(tǒng)詳細介紹

      3.linuxmint操作系統(tǒng)是什么

      4.如何檢查Linux的內存使用狀況

      5.Linux基礎命令大全介紹

      666430