から抽出syslog:
CRON[pid]: (user) CMD ( [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -cmin +$(/usr/lib/php5/maxlifetime) ! -
execdir fuser -s {} 2>/dev/null \; -delete)
私のCPUは数時間99%でスタックしていますが、これはこれが原因であると考えています。これが何であるか、どのように開始され、どのように停止するかを誰かが偶然知っているでしょうか?
編集:私は試しましたがtop -n1、これを何度も見ています:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
PID user 20 0 0 0 0 Z 99.9 0.0 0:00.00 fuser <defunct>
この行は約8回繰り返されます。
EDIT2:
uname-a:
user SMP Tue Feb 14 13:27:41 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux`
lsb_release -a:
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 11.10
Release: 11.10
Codename: code
編集3:
再起動後、システムは99% cpu usage同じtop -n1結果に戻りました。
uname -aand の出力は何lsb_release -aですか?
fuserコマンドは、おそらく非常に短命されます。CPU時間(ユーザー時間ではなくシステム時間)を使い切って時間を費やし、(ごくわずかに)消費する/ procデータを生成します。の各インスタンスはfuserおそらく非常に速く終了します。しかし、おそらくそこには多くのセッションファイルがあるため、何度も実行されています。99.9%という数値は、fuserCPUのインスタンスが死ぬ前に集中的に使用されていたことを意味しているにすぎません。 findおそらく子供を刈り取ることについてあまり積極的ではありません。おそらくwaitpid、ディレクトリを離れるとき、またはfuser再度実行するときにのみ、再び呼び出されます。
user SMP Tue Feb 14 13:27:41 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux lsb_release -a:LSBモジュールは使用できません。ディストリビューターID:Ubuntu説明:Ubuntu 11.10リリース:11.10コード名:コード
-execdir ... \;述語の結果として戻りコードが必要になるため、待機は即時である必要があります(私はこれ-execdir ...+を常にtrueを返すものと混同していたと思います)。