ここでは、Linuxにおけるコアダンプ採取のための注意事項を説明します。
■コアダンプが出力されない場合の確認
コアダンプが出力されない場合の原因として、システムリソース等の問題がまず考えられます。カレントディレクトリの書込み権、ディスク容量、limit(1)コマンド結果を確認してください。
また、Linuxではハード/OSの出荷時もしくはOSのUpdate適用により、デフォルトでコアダンプの出力が設定されていない場合があります。以下を実施してコアダンプが出力されるようにしてください。
《コアダンプ出力設定方法》
isstartコマンドでInterstageを起動させる場合
sh(bash)で“ulimit -c unlimited”コマンド実行後、Interstageを起動させます。ワークユニット起動ユーザがInterstage起動ユーザと違う場合は、ワークユニット起動前に“ulimit -c unlimited”コマンドを実行してから、ワークユニットを起動させます。
RCプロシジャでOS起動時に自動的にInterstageが起動するように設定されている場合
以下の方法を実施することで、OS再起動後にcoreが出力されるようになります。
/etc/init.d/functionsファイルに、
# make sure it doesn't core dump anywhere; while this could mask # problems with the daemon, it also closes some security problems ulimit -S -c 0 >/dev/null 2>&1 または、 ulimit -S -c ${DAEMON_COREFILE_LIMIT:-0} >/dev/null 2>1
と記述されていますので、上記の設定で“0”を、“unlimited”に変更してください。
ulimit -S -c unlimited >/dev/null 2>&1
/etc/rc2.d/S99startisに、以下の<---の記述を追加してください。
#!/bin/sh # Interstage Application Server # S99starttis : Interstage Application Server start procedure OD_HOME=/opt/FJSVod export OD_HOME ulimit -c unlimited <--- /opt/FJSVod/bin/odalive > /dev/null while [ "$?" != "0" ] do sleep 1 /opt/FJSVod/bin/odalive > /dev/null done /opt/FJSVtd/bin/isstart