Linux查看機器負載__Linux

來源:互聯網
上載者:User

負載(load)是linux機器的一個重要指標,直觀了反應了機器當前的狀態。如果機器負載過高,那麼對機器的操作將難以進行。

Linux的負載高,主要是由於CPU使用、記憶體使用量、IO消耗三部分構成。任意一項使用過多,都將導致伺服器負載的急劇攀升。

查看伺服器負載有多種命令,w或者uptime都可以直接展示負載,

$ uptime12:20:30 up 44 days, 21:46,  2 users,  load average: 8.99, 7.55, 5.40
$ w12:22:02 up 44 days, 21:48,  2 users,  load average: 3.96, 6.28, 5.16

load average分別對應於過去1分鐘,5分鐘,15分鐘的負載平均值。

什麼是Load。什麼是Load Average? 

  Load 就是對電腦幹活多少的度量(WikiPedia:the system Load is a measure of the amount of work that a compute system is doing)簡單的說是進程隊列的長度。Load Average 就是一段時間(1分鐘、5分鐘、15分鐘)內平均Load

如何判斷系統是否已經Over Load
  對一般的系統來說,根據cpu數量去判斷。如果平均負載始終在1.2以下,而你有2顆cup的機器。那麼基本不會出現cpu不夠用的情況。也就是Load平均要小於Cpu的數量,一般是會根據15分鐘那個load 平均值為首先。

這兩個命令只是單純的反映出負載,linux提供了更為強大,也更為實用的top命令來查看伺服器負載。

$top

Tasks行展示了目前的進程總數及所處狀態,要注意zombie,表示殭屍進程,不為0則表示有進程出現問題。

Cpu(s)行展示了當前CPU的狀態,us表示使用者進程佔用CPU比例,sy表示核心進程佔用CPU比例,id表示空閑CPU百分比,wa表示IO等待所佔用的CPU時間的百分比。wa佔用超過30%則表示IO壓力很大。

Mem行展示了當前記憶體的狀態,total是總的記憶體大小,userd是已使用的,free是剩餘的,buffers是目錄緩衝。

Swap行同Mem行,cached表示緩衝,使用者已開啟的檔案。如果Swap的used很高,則表示系統記憶體不足。

在top命令下,按1,則可以展示出伺服器有多少CPU,及每個CPU的使用方式

一般而言,伺服器的合理負載是CPU核心數*2。也就是說對於8核的CPU,負載在16以內表明機器運行很穩定流暢。如果負載超過16了,就說明伺服器的運行有一定的壓力了。

在top命令下,按shift + "c",則將進程按照CPU使用率從大到小排序,按shift+"p",則將進程按照記憶體使用量率從大到小排序,很容易能夠定位出哪些服務佔用了較高的CPU和記憶體。

僅僅有top命令是不夠的,因為它僅能展示CPU和記憶體的使用方式,對於負載升高的另一重要原因——IO沒有清晰明確的展示。linux提供了iostat命令,可以瞭解io的開銷。

輸入iostat -x 1 10命令,表示開始監控輸入輸出狀態,-x表示顯示所有參數資訊,1表示每隔1秒監控一次,10表示共監控10次。

其中rsec/s表示讀入,wsec/s表示每秒寫入,這兩個參數某一個特別高的時候就表示磁碟IO有很大壓力,util表示IO使用率,如果接近100%,說明IO滿負荷運轉。 

查看系統負載vmstat

$vmstatprocs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----r b swpd free buff cache si so bi bo in cs us sy id wa st0 0 0 689568 121068 1397252 0 0 77 8 110 745 4 1 93 1 0

r 列表示運行和等待cpu時間片的進程數,如果長期大於1,說明cpu不足,需要增加cpu。 
b 列表示在等待資源的進程數,比如正在等待I/O、或者記憶體交換等。 cpu 表示cpu的使用狀態 
us 列顯示了使用者方式下所花費 CPU 時間的百分比。us的值比較高時,說明使用者進程消耗的cpu時間多,但是如果長期大於50%,需要考慮最佳化使用者的程式。 
sy 列顯示了核心進程所花費的cpu時間的百分比。這裡us + sy的參考值為80%,如果us+sy 大於 80%說明可能存在CPU不足。 
wa 列顯示了IO等待所佔用的CPU時間的百分比。這裡wa的參考值為30%,如果wa超過30%,說明IO等待嚴重,這可能是磁碟大量隨機訪問造成的,也可能磁碟或者磁碟存取控制器的頻寬瓶頸造成的(主要是塊操作)。 
id 列顯示了cpu處在空閑狀態的時間百分比 system 顯示採集間隔內發生的中斷數 
in 列表示在某一時間間隔中觀測到的每秒裝置中斷數。 cs列表示每秒產生的環境切換次數,如當 cs 比磁碟 I/O 和網路資訊包速率高得多,都應進行進一步調查。
memory 
swpd 切換到記憶體交換區的記憶體數量(k表示)。如果swpd的值不為0,或者比較大,比如超過了100m,只要si、so的值長期為0,系統效能還是正常 
free 當前的空閑頁面列表中記憶體數量(k表示) buff 作為buffer cache的記憶體數量,一般對塊裝置的讀寫才需要緩衝。 cache: 作為page cache的記憶體數量,一般作為檔案系統的cache,如果cache較大,說明用到cache的檔案較多,如果此時IO中bi比較小,說明檔案系統效率比較好。 swap 
si 由記憶體進入記憶體交換區數量。 so由記憶體交換區進入記憶體數量。 IO 
bi 從塊裝置讀入資料的總量(讀磁碟)(每秒kb)。 bo 塊裝置寫入資料的總量(寫磁碟)(每秒kb) 
這裡我們設定的bi+bo參考值為1000,如果超過1000,而且wa值較大應該考慮均衡磁碟負載,可以結合iostat輸出來分析

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.