システムに問題があり、phantomjs
がジョブの終了後も実行されたままになります。この問題をデバッグするために、2日前にシステムを再起動しました。
今日top
を実行したとき、私はこれを見ました:
正しく理解すれば、これら2つのphantomjs
プロセスは約5日間存在していました。それで、彼らはどういうわけか再起動を生き残りましたか?
TIME+
列は、時間と分での実時間ではなく、分と秒(および100分の1秒)で消費されるCPU時間です。スクリーンショットは、それぞれ2時間以上のCPU時間を使用した2つのphantomjsプロセスを示しています。
man top
のセクション「3a。フィールドの説明」:
29. TIME -- CPU Time
Total CPU time the task has used since it started. When Cumulative
mode is On, each process is listed with the cpu time that it and its
dead children have used. You toggle Cumulative mode with `S', which
is both a command-line option and an interactive command.
See the `S' interactive command for additional information regarding
this mode.
30. TIME+ -- CPU Time, hundredths
The same as TIME, but reflecting more granularity through hundredths
of a second.
CPU時間とは、1つのCPUコアがこのタスクの処理でビジーであった時間、または(累積モードがオンの場合)ここでその子のいずれかを意味します。
つまり、CPU時間はウォール時間とはまったく関係がなく、もちろん、プロセスがウォール時間で実行されている時間よりも短くなる可能性があります(常にフルCPUコアを使用しない場合)。実際のプロセスランタイムよりも長い(マルチコアCPUがあり、プロセスが複数のCPUを使用する場合)。