2016-03-18 6 views
0

私は電話スクリーニングに出席するインタビューの質問でした。どのプロセス状態がサーバの負荷平均に寄与していますか?

私は答えを: Running State (R),interruptible State (S)およびIO waitとしました。

しかし私は間違って質問を理解するかもしれないと思うか、私の答えに何かが欠けているかもしれないと思っているだけです。

だから私はインターネット上でいくつかのばかばかしい情報を見つけた。それでも私は答えが何であるか分かりません。

この質問の回答についてどう思いますか?

+0

これは実装によって大きく異なります。 – user3344003

答えて

1

負荷平均を計算する標準的な方法はありません。これはOSによって異なります。ここLinux's load calculatorです:Linuxは(R)とUininterruptible(D)を実行している負荷平均の目的のためにアクティブとしてカウントし

long calc_load_fold_active(struct rq *this_rq) 
{ 
    long nr_active, delta = 0; 

    nr_active = this_rq->nr_running; 
    nr_active += (long) this_rq->nr_uninterruptible; 

    if (nr_active != this_rq->calc_load_active) { 
     delta = nr_active - this_rq->calc_load_active; 
     this_rq->calc_load_active = nr_active; 
    } 

    return delta; 
} 

プロセスが。

Interruptible Sleep(S)はカウントされず、いずれも機能停止(Z)または停止(T)ではありません。

+0

うわー、それはちょうどそれを釘付け!私は、あなたがソースコードを掘り下げることができないものがあれば、今、習慣を学んだと思います!どうもありがとうございました :) – FZE

関連する問題