web-dev-qa-db-ja.com

topコマンドのTime +(CPU Time)列が誤って報告している

トップコマンドのTime +列は、実行中のphpスクリプトの正しい時刻を報告していません。それは最初に次のようなものを報告して上下に変動します

TIME+
22:39.35 php

そして3秒後に報告

TIME+
7:12.41 php

そしてさらに3秒後に報告

TIME+
42:44.21 php

なぜこれが起こっているのかについての手がかりはありますか?

編集:

「c」を押してプロセスの名前を切り替えたので、同じプロセスであることがわかりました。時間はまだ間違って報告されています。

2
user784637

これらが同じphpプロセスであると確信していますか?私はあなたが「上にジャンプしている」複数のphpプロセスを持っているに違いない。

すべてのphpプロセスをより適切かつ簡単に監視したい場合は、「htop」を使用することをお勧めします。

2

デフォルトでは、topは%CPUでソートされるため、リスト内のプロセスが移動するのがわかります。 <キーを繰り返し使用して、並べ替え列をPIDに移動すると、リストは「ジャンプ」を停止します(少なくとも、新しいプロセスが停止または開始しない限り)。または、ps p PID u(対象のphpプロセスのPIDに代入)を実行して、psリストにそのプロセスだけを表示します。時間が「ジャンプ」していない場合は、topでの並べ替えのアーティファクトが表示されている可能性があります。

2
Evan Anderson

その値は、カーネルが管理する/ proc // statから14番目のフィールドを取得することによって計算されます。

問題の値は、私が理解している限り、「jiffies」(事実上100分の1秒)でしか増加しません。

そのpidの/ proc // statの値を10秒後に並べることができますか?

1
Matthew Ife