3

プロセスがクラッシュしたときに、コアをダンプするのにかかる時間を測定したいと考えています。私の理解では、ダンプコアを実行するカーネル関数です。ここにいるカーネルの専門家は、コアダンプ時間を測定するためのフックを追加できる適切な場所を指摘できますか? これは 64 ビット カーネル、バージョン 2.6.3* にあります。

4

1 に答える 1

1

カーネルを変更する必要はありません。Linux カーネルの inotify 機能を使用すると、コア ファイルがいつ作成されたかを知ることができます。また、ファイルの変更時刻を使用して、コア ダンプがいつ終了したかを知ることができます。

ただし、プロセスのソース コードにアクセスできる場合は、それを入手できます。

  1. コアダンプの原因となるシグナルをキャッチ
  2. タイムスタンプをどこかに書き込む
  3. シグナルハンドラをデフォルトにリセットします
  4. 信号を自分自身に再送信すると、今度はコアダンプが発生します。

コアダンプ間隔は、コア ファイルの最終変更時刻から、プロセスが以前に書き込んだタイムスタンプを引いたものです。

于 2012-04-06T21:51:37.420 に答える