URLをクリップボードにコピーしました
FAQ_URL:https://www.pa-solution.net/daj/bs/faq/Detail.aspx?id=3672
|
最終更新日 2022/11/09 |
FAQ_ID:3672 |
Business >
i-FILTER Ver.9/Ver.10/Reporter >
トラブルシューティング
|
「i-FILTER」Ver.10 調査時に必要なメモリダンプやコアダンプを取得する方法を教えてください
|
|
対応バージョン: i-FILTER Ver.10
対応OS: すべてのOS
※本FAQ内の用語解説
メモリダンプ
(クラッシュダンプ)
|
Windows OSでメモリ内容を出力したファイルです。また、
プロセス不正終了時のメモリダンプをクラッシュダンプと呼びます。
|
コアダンプ
|
Linux(UNIX系)OS でメモリ内容を出力したファイルです。
|
クラッシュ
|
プロセスの不正終了を意味します。本FAQ記載の設定によって
クラッシュ時のメモリダンプやコアダンプを取得することが可能です。
|
デッドロック
|
プロセスの無応答状態を意味します。本FAQ記載の手順によって
デッドロック時のメモリダンプやコアダンプを取得することが可能です。
|
「i-FILTER」関連のプロセスがクラッシュした場合や、デッドロックした場合には、現象発生時の
メモリダンプやコアダンプが必要です。これらの取得手順を以下に記載します。
【Linux版「クラッシュ時、デッドロック時」】
※ <インストールディレクトリ>のデフォルトは以下になります。変更されている場合は
適宜読み換えください。
/usr/local/ifilter10
(1)コアダンプ出力フラグパラメーターを確認
<インストールディレクトリ>/conf/ifilter.conf の下記パラメーターの 値が「-1」でない場合は
修正後、「i-FILTER」サービスを再起動します。
sys_rlimit_core = -1
(2)プロセスダウンを実施
プロセスクラッシュ時にコアダンプが自動的に出力されます。
デッドロック時にはプロセスIDを確認後、強制的にプロセスをダウンさせてください。
【例】「if_proxy」プロセスのコアダンプを取得する場合
・ プロセスID確認
対象プロセスのプロセスID<PID> を確認します。
# ps -ef | grep if_proxy
・ プロセス強制ダウン
確認したプロセスIDを指定してダウンさせます。
# kill -6 <PID>
※ 自動的にダウンした場合も、強制的にダウンさせた場合も、「i-FILTER」は、プロセスを
再起動させます。
プロセスの起動を 「ps -ef | grep if_proxy」で確認ください。
(3)情報取得
以下のパスに出力されたコアダンプを取得します(「xxxx」はプロセスID)。
[<インストールディレクトリ>/bin/core.xxxx]
※ 注意
Red Hat Enterprise Linux 8以降の場合、出力されたコアダンプを、後述手順のように
さらにファイル出力する必要がある場合があるので注意してください。
※ 注意
「if_eweb」プロセスおよび「if_dweb」プロセスの出力先はそれぞれ以下となります。
「if_eweb」: [<インストールディレクトリ>/form/htdocs/core.xxxx]
「if_dweb」: [<インストールディレクトリ>/form/htdocs_dweb/core.xxxx]
コアダンプの解析にはサーバー環境をあわせる必要があるため、 以下のコマンド結果も
同時に取得ください
# cat /etc/redhat-release > redhat.txt
# uname -a > uname.txt
# rpm -qa --qf '%{name}-%{version}-%{release}.%{arch}.rpm\n'> rpm.txt
coreファイルの出力サイズに制限がかかっていると調査できないため、
サイズ制限されていないか確認してください。
1.system.conf
/etc/systemd/system.confを開き次の値が設定されていることを確認します。
DefaultLimitCORE=infinity
設定変更を行った場合、次のコマンドを実行し設定を反映します。
# systemctl daemon-reexec
2.ulimit
次のコマンドで設定を確認します。
# ulimit -a | grep core
設定が「unlimited」になっていない場合は次のコマンドで変更します。
# ulimit -c unlimited
|
Red Hat Enterprise Linux 8(RHEL8)以降を利用している場合、コアダンプが自動で出力
されないことがあります。
その場合は下記のコマンドで出力してから提供してください。
1. コアダンプの一覧を表示
# coredumpctl list
2. 出力日時とPIDから、目的のコアダンプを特定
3. コアダンプを出力
# coredumpctl dump <PID> --output /tmp/core.<PID>
※<PID>には実際のPIDを入力してください。
4. /tmp に出力されたコアダンプを提供してください。 |
※CPU使用率確認については以下のFAQ情報もご参照ください。
■「i-FILTER」CPU使用率が高騰した際の情報取得手順をおしえてください
https://www.pa-solution.net/daj/bs/faq/Detail.aspx?id=5235
【Windows版「デッドロック時」】
(1)タスクマネージャーを起動
以下、いずれかの手順でタスクマネージャーを起動します。
・ 「ファイル名を指定して実行」 → [taskmgr]
・ 「ショートカットキー」 → 「Ctrl+Shift+Esc」
(2)対象プロセスを選択
プロセスタブから、問題が発生しているプロセス名を右クリックし、 「ダンプファイルの作成」を選択します
(3)メモリダンプの取得
保存フォルダを確認してメモリダンプをご取得ください。
【Windows版「クラッシュ時」】
※レジストリ編集の注意点※
***********************************************************************
レジストリエディタの使用を誤ると、深刻な問題が発生する可能性があり、
Windowsの再インストールが必要になることがあります。作業前に
レジストリエディタのバックアップを作成の上、お客様の責任と判断にて実施ください。
***********************************************************************
(1)レジストリエディタを起動
Windowsスタートメニュー[ファイル名を指定して実行]から「regedit」を入力し「OK」ボタン
※ [ファイル名を指定して実行]は、[Windows]+[R]キーでも表示されます
(2)レジストリキーとレジストリ値(3点)を追加
■レジストリキー
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Windows Error Reporting\LocalDumps]
※「LocalDumps」キーが存在しない場合は新規作成(デフォルトでは存在しません)
■レジストリ値
・ダンプ保持世代数
----------------------------------------------
値の名前 :DumpCount
種類 :REG_DWORD [DWORD(32ビット)値]
値のデータ:0x0000000a(10)
----------------------------------------------
※上記は10世代まで保持する場合の設定です
・ダンプ出力先
----------------------------------------------
値の名前 :DumpFolder
種類 :REG_EXPAND_SZ [展開可能な文字列]
値のデータ:C:\CrashDumps
----------------------------------------------
※上記は「C:\CrashDumps」に出力する場合の設定です。
※フォルダはダンプ出力時に自動的に生成されます
・ダンプ出力種別(0:カスタムダンプ、1:ミニマムダンプ、2:フルダンプ)
----------------------------------------------
値の名前 :DumpType
種類 :REG_DWORD [DWORD(32ビット)値]
値のデータ:0x00000002(2)
----------------------------------------------
※上記はフルダンプを出力する場合の設定となります
(弊社調査ではフルダンプを指定してください)
(3)現象を再現させダンプを出力
事象再現後、ダンプ出力先に指定したフォルダ内の
「%プロセス名%.%PID%.dmp」を取得します。
※ 「i-FILTER」関連以外のプロセスでも不正終了発生時の際にはクラッシュダンプが出力されます。
継続してクラッシュダンプの出力が不要な場合には、調査終了後に設定を元に戻してください。
<参考サイトMicrosoft社(MSDN)>
https://msdn.microsoft.com/en-us/library/bb787181.aspx
ファイル送付手順につきまして「サポート問い合わせフォーム」か、お電話にてファイルサイズを
ご相談ください。ファイルサイズが大きい場合には、弊社契約のオンラインストレージサービスの
ご案内が可能です。
※メモリダンプのスタック状態により、追加情報をいただく場合がございます。
|