負載是linux機器的乙個重要指標,直觀了反應了機器當前的狀態。如果機器負載過高,那麼對機器的操作將難以進行
linux的負載高,主要是由於
cpu使用、記憶體使用、
io消耗三部分構成。任意一項使用過多,都將導致伺服器負載的急劇攀公升
1:在top
命令下,按
1,則可以展示出伺服器有多少
cpu,及每個
cpu的使用情況,一般而言,伺服器的合理負載是
cpu核數
*2,負載在
cpu核數
*2以內表明機器執行很穩定流暢,如果負載超過
cpu核數
*2了,就說明伺服器的執行有一定的壓力了
2:如果
top不能看出問題,就需要對各引數更細緻的檢視,執行
vmstat
命令:3.對第二步的引數逐一進行分析:
procs
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:由記憶體交換區進入記憶體數量。
iobi: 從塊裝置讀入資料的總量(讀磁碟)(每秒
kb)。
bo: 塊裝置寫入資料的總量(寫磁碟)(每秒kb)
Linux 負載均衡
在排程器的實現技術中,ip負載均衡技術是效率最高的。在已有的ip負載均衡技術中有通過網路位址轉換 network address translation 將一組伺服器構成乙個高效能的 高可用的虛擬伺服器,我們稱之為vs nat技術 virtual server via network address...
linux負載監控
linux端 include include include include include include include include include include define maxline 4096 int gethostip char ipaddr,int inte ce memse...
linux負載均衡
1.載均衡可以分為基於流的和基於包的,基於流的實現更合理但是有的時候必須需要基於包的,只可惜,linux核心並沒有很好的實現基於包的負載均衡。2.6早期的核心實現了乙個multipath的機制,可以認為是乙個負載均衡器,但是它卻是基於fib的,可以認為是基於流的,因為每乙個流的第乙個包從cache中...