ログオフによるJavaプロセス終了への対応

事象説明

    Windows版のJavaでは、ログオフを行うとJVMがログオフイベントを拾って自らプロセス終了してしまう現象が発生します。

状況の確認方法

    history.actの確認

      アボートが発生してプロセス再起動が行なわれた場合、history.actに以下のメッセージが出力されます。

      TPS15-01107 Process abnormal end. PID=[<プロセスID>], class[<プロセスグループ名>], ped[<アプリケーショングループ名>.ped]

    このメッセージではログオフによる終了とは特定できませんが、何らかの異常により終了しています。同時刻に全てのAPが終了している場合、ログオフによる影響の可能性が高くなります。

採取資料

    イベントログ(アプリケーション、システム)・シスログ

    APログ:
    ${INSTANCE_ROOT}/logs/tpsystem/<アプリケーショングループ名>/<プロセスグループ名>/save/<プロセスグループ名>.<数字>.<PID>.log

    システムトレース:
    ${INSTANCE_ROOT}/logs/tpsystem/<アプリケーショングループ名>/<プロセスグループ名>/save/<プロセスグループ名>_sys.<数字>.<PID>.log

    ${INSTANCE_ROOT}/config/tpsystem/history.act (sav)

    ${INSTANCE_ROOT}/config/tpsystem/sysmsg.trc (sav)

    ${INSTANCE_ROOT}/logs/server.log

    ${INSTANCE_ROOT}/logs/webotx_agent.log

    ${INSTANCE_ROOT}/logs/tpsystem/webotx_tpmmgr.log

回避方法

    ログオフを行わないことでこの現象を回避できます。

予防のための対策

    この問題を予防するための対策については以下の方法があります。

      -Xrsオプションの設定

        -Xrsオプションを指定することで、JVMがログオフイベントを拾わなくなりログオフでプロセスが突然終了することもなくなります。プロセスグループの設定の、「Java VMオプション」の「その他引数」に、「-Xrs」という記述を追加してください。

        ただしこの設定を行うことで、wostackコマンドやSIGQUITの送信によるスタックトレースの出力機能が使用できなくなりますので注意してください。また、実行時間超過時などに出力されるスタックトレースも出力されなくなります。
        WebOTX V6.3 以降のバージョンではログオフイベントを拾わないため、-Xrsオプションを指定する必要はありません。


関連情報

サーバアプリケーションの障害
TPモニタ機能の障害解析

トラブルシューティング(障害解析)