殺され続けるアプリケーションに問題があります。これはRHEL5サーバーを実行しています。プロセスに対してstraceを実行すると、トレースファイルの最後に大量の+++ SIGKILL +++メッセージが殺されました。 SIGKILLを捕まえることができないので、プロセスが強制終了される理由を追跡する方法を見つけようとしています。
RedHatの推奨事項を使用してみました。
auditctl -a exit,always -S kill
うまくいかなかったようです。 audit.logにkillのエントリはありませんでした。
Red Hatからのもう1つの推奨事項は、systemtapを使用することでした。 yum経由でインストールし、提供されたsigmon.stpスクリプトを使用してstapを実行しようとしました。 sigmon.stpはこのページにあります: Sigmon.stp コメントセクションで提供されているコマンドを使用しました。出力は次のとおりです。
# stap sigmon.stp -x 12647 SIGKILL -v
Pass 1: parsed user script and 85 library script(s) using 146868virt/23716res/3024shr/21404data kb, in 110usr/10sys/116real ms.
semantic error: while resolving probe point: identifier 'kernel' at /usr/share/systemtap/tapset/signal.stp:60:37
source: probe __signal.send.send_sigqueue = kernel.function("send_sigqueue")
^
semantic error: missing x86_64 kernel/module debuginfo under '/lib/modules/2.6.18-308.13.1.el5/build'
semantic error: while resolving probe point: identifier '__signal' at :39:21
source: probe signal.send = __signal.send.send_sigqueue,
^
semantic error: no match
semantic error: while resolving probe point: identifier 'signal' at sigmon.stp:30:7
source: probe signal.send
^
Pass 2: analyzed script: 1 probe(s), 0 function(s), 0 embed(s), 0 global(s) using 150348virt/28920res/4696shr/24884data kb, in 30usr/40sys/81real ms.
Pass 2: analysis failed. Try again with another '--vp 01' option.
Missing separate debuginfos, use: debuginfo-install kernel-2.6.18-308.13.1.el5.x86_64
Stapコマンドを使用して運が良かった人はいますか?何が私のプロセスを殺しているのかを知ることができる別の方法はありますか?
SystemTapは、カーネルのデバッグシンボルを見つけることができないようです。実行しているカーネルに必要なカーネルデバッグパッケージをインストールしましたか? SystemTapガイドには次のように書かれています。
SystemTapをデプロイするには、カーネルに対応する-devel、-debuginfo、および-debuginfo-commonパッケージのセットとともにSystemTapパッケージをインストールする必要があります。システムに複数のカーネルがインストールされていて、複数のカーネルカーネルでSystemTapを使用する場合は、それらのカーネルバージョンごとに-develおよび-debuginfoパッケージをインストールする必要があります。