中断されたようなプロセスがあります。
プロセスを再起動しようとすると、タイムアウトが発生します。
service logstash_server stop
timeout: run: logstash_server: (pid 11797) 839061s, want down, got TERM
tail -f
ログで実行しようとしましたが、残念ながら何も表示されません。kill -15
そのプロセスも試しましたが、まだ中断されます。トップはゾンビプロセスとして表示しません。
先月、このようなことが3番目に発生したため、このプロセスがこの状態の「なぜ」なのかを把握しようとしています。
ファイル記述子とシステムログを確認しましたが、注目すべき内容はありませんでした。
ファイル記述子=>http://pastebin.com/90rDHhT4
システムログ出力 => http://pastebin.com/xBaMaL9Z
lsof | grep logstash
=> の出力http://pastebin.com/gsSdPyg5
プロセスでstraceを実行すると、FUTEX_WAITのみが表示されます。
strace -p 11797
Process 11797 attached
futex(0x7f6d95d8e9d0, FUTEX_WAIT, 11811, NULL
送信する前に私ができる他の措置がありますかkill -9
?
修正する
開発者に請求書を送信します。問題は週に1回続きます。
答え1
これらの問題を診断するためのツールは次のとおりです。
lsof
。開いたファイルが一覧表示され、ファイルが保留中のネットワーク共有にあることを確認できます。またはTCP接続を待ってください。など。strace
。どのシステムコールがかかっているか、実際に何かをしていることを確認してください。- デーモンのデバッグログオプション。通常、競合が発生する前に(通常起動時に)これらのオプションをオンにする必要があります。
- Rahulが述べたソフトウェアデバッグツール(Thread Dump
gdb
またはjdb
他の関連ツール)。今ソフトウェアをデバッグしていますが、最終的に原因を特定する必要があるかもしれません。
lsof
デフォルトでは、strace
システム/構成に問題がないか再確認してください。それに加えて、ソフトウェア開発者の助けが本当に必要です。
編集:更新によってはバグを報告したり、作成者に助けを求める必要があるかもしれません。周りに開発者がいない場合は見てください。
答え2
終了できないプロセス (SIGKILL を使用したり、ルートによっても) は、プロセス状態 D (「無中断休止」) にある可能性が高いです。明らかな理由がなくても、この条件が続くと、プログラムが一部のI / Oドライバのバグを引き起こす可能性が高くなります。再起動以外にできることはほとんどありません。
答え3
これが役に立ちます -http://man7.org/linux/man-pages/man2/futex.2.html
これはバグの可能性が高く、開発者に伝える必要があるかもしれないことに同意します。