http://inthirties.com:90/thread-1262-1-1.html
在linux裡運行top和一些命令的時候,都可以看到load average的資訊。
瞭解到這個是有關係統負載的資訊,而且越小越好。
今天找了一下資料。詳細瞭解一下
系統平均負載被定義為在特定時間間隔內運行隊列中的平均進程樹。如果一個進程滿足以下條件則其就會位於運行隊列中:
- 它沒有在等待I/O操作的結果
- 它沒有主動進入等待狀態(也就是沒有調用’wait’)
- 沒有被停止(例如:等待終止)
====== 這裡很關鍵,不是每個進程都被計算在內的。
load average如何計算
為了使核心可以高效計算load average,採用了fixed-point arithmetic。fixed-point
arithmetic是一種非常快速的類比浮點運算的方法,特別是在沒有FPU(float point unit)組件的處理器上,非常有用。
計算公式:load(t) = load(t-1) e^(-5/60) + n (1 -
e^(-5/60)),迭代計算,其中n為run-queue length。
由Exponential Smoothing方程有,Y(t)= Y(t-1) + a*[X(t) - Y(t-1)],whereX(t)
is the input raw data, Y(t - 1) is the value due to the
previoussmoothing iteration and Y(t) is the new smoothed
value.令a=1-b,b為e^(-5/60),就可以得到load average的計算公式。
採用此公式的好處:局部的load抖動不會對load average造成重大影響,使其平滑。
load average釋疑
一般來說只要每個CPU的當前活動進程數不大於2那麼系統的效能就是良好的,如果每個CPU的任務數大於5,那麼就表示這台機器的效能有嚴重問
題。
假設系統有兩個CPU,那麼其每個CPU的當前任務數為:Load
average/2。這時候取得的數值可以參照上述2-5的標準來進行判斷了。
=== 這裡就是計算公式了,在股票公司呆過,以前學習過指標和評價參數的計算方法,對理解這個公式協助很大喲。
- 提供Oracle管理/故障處理/最佳化/安裝/RAC/備份恢複技術服務,提供專業的Oracle培訓和諮詢服務。
- 郵件: inthirties@gmail.com
- MSN: inthirties@hotmail.com
- QQ: inthirties@qq.com
- 電話: 13828706466
- 技術部落格 http://blog.csdn.net/inthirties
- 個人網站 http://blog.inthirties.com