crontabのエラーメッセージで「行19:12364 Killed」はどういう意味ですか?


10

私は毎日のcrontabタスクを受け取りました:

50 1 * * * sh /my_path/daily_task.sh > /tmp/zen_log 2>&1

このdaily_taskシェルスクリプトは、いくつかのpythonスクリプトを実行し、データファイルを生成します。

そして、それは二晩失敗します。しかし、朝に来たとき、Pythonスクリプトを手動で実行して、データファイルを取得しました。または、日付のみを設定する新しいcrontabを設定したところ0 10 * * *、このcrontabも成功しました。

だから昨日、> /tmp/zen_log 2>&1エラーメッセージを受け取るためにcronタスクを入れました。

そして今朝、zen_logに次のエラーメッセージが表示されました。

/my_path/daily_task.sh: line 19: 12364 Killed /usr/local/bin/python2.7 my_python_script.py 2 mix > mix_hc_$datestamp 2>&1

一部のプロセスが強制終了されたようですか?しかし、これline 19: 12364 Killedは正確にはどういう意味ですか?


PS:

今日、1分前にpythonスクリプトを手動で実行すると、次のようになりました。 /usr/local/bin/python2.7 my_python_script.py 2 mix > mix_hc_$datestamp 2>&1 Killed


line 19スクリプトには何がありますか?多分あなたのスクリプトを投稿することは私たちがあなたに答えを提供するのに役立ちます。
devnull 2015

line 19is/usr/local/bin/python2.7 my_python_script.py 2 mix > mix_hc_$datestamp 2>&1
Zen

の内容で質問を更新できますdaily_task.shか?それが失敗する理由を理解することは困難です1:50 am10 am、これまでの情報で成功しています。
devnull 2015

3
また/var/log/messages、スクリプトがメモリ不足(OOM)エラーを作成して強制終了されているかどうかも確認します。ご使用のシステムは、AM時間と比較して深夜に他のシステムリソースを大量に消費するスクリプト/アプリケーション/ジョブを実行する傾向がありますか?
devnull 2015

@DevNull、私はカーネルログをチェックしましたが、このスクリプトがメモリを大量に占有し、カーネルがそれを強制終了したと確信しています。
Zenの

回答:


17

多くの場合、アプリケーションが実行されているときkilledは、/var/log/messagesファイルをざっと見て、カーネルがプロセスを強制終了しているかどうかを確認することをお勧めします。私の経験では、最も一般的なトリガーは常にメモリ不足(OOM)エラーが原因です。私の会社は主にJavaアプリケーションを使用しているため、開発者がOOMイベントをトリガーする不良コードの更新を公開することは非常に一般的です。

OSのリソースが最も利用可能であるときにタスクをスケジュールすると、ほとんどの人がシステムジョブの課税をスケジュールしたいときに、PMではなくAMのタイムスロットで成功します。これに対する簡単な解決策は、システムリソースを増やすか、コードに割り当てるリソースを制限するか、ジョブがスケジュールされているときに移動して、競合しないようにすることです。


1
デフォルトでは、ubuntu messagesがsyslogに出力する代わりに/var/log/messages
oak
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.