
特定のプロセスの多くのインスタンスが表示される問題が発生しました。
/usr/sbin/sendmail -FCronDaemon -i -odi -oem -oi -t
私はいくつかの内容を読みましたが、プロセスはcronジョブのstdout出力を送信し始めたようですが、何らかの理由で終了しません。
1日に1つのプロセスがあるので、毎日のクローン作業に関連していると思います。このプロセスの開始時間ps aux
(毎日04:01)は、毎日のクローン操作の開始時間(毎日04:02)と一致しているようです。その内容は/etc/cron.daily
次のとおりです。
0anacron 0logwatch cups logrotate makewhatis.cron mlocate.cron rpm tmpwatch
その内容は/etc/crontab
次のとおりです。
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
これまでは、プロセス数が多いときに手動でプロセスを終了しました。そうしないと、サーバーのリソースが不足し、サーバーで実行されているサービスが停止します。最悪のシナリオでは、これらのプロセスを終了するために別のcronを設定するだけですが、ソースからの問題を回避することをお勧めします。この問題の原因を知っている人はいますか?誰でもデバッグ手順を提供できますか?
答え1
問題はsendmailにまったくありません。 crond を使用して、pstree
中断されずに終了せず、crond の親になるプロセスが多いことを確認できました。各プロセスを見てみると、そのうちの1つが次のことを行うことがわかりました。
cat /var/log/some_log_file
それをやってls /var/log/some_log_file
みると
/var/log/some_log_file|
some_log_file
実際に名前付きパイプです!クローン操作はパイプからデータを読み取ろうとしますが、パイプに何も送信されないため終了しないようです。
修正で削除し、一般ファイルにしました。