2012-04-06 13 views
3

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

+1

あなたはその情報をどうしますか? – Mat

+0

クラッシュしたインスタンスのコアダンプが完了するまでプロセスを再開できないと思います。このシステムは重要な機能を提供します。少なくとも私のプロセス再開がどれくらいの時間を要するかを知る必要があります。 – Manohar

+0

@Mat:コアダンプ施設で働く誰かがコードをプロファイリングし、最適化するためにそれを使用します。頻繁にコアダンプが発生するアプリケーションを評価/維持する人は、操作上の理由から興味があります。ヘック、アイドル好奇心は正当化IMHOの多くです。 – wallyk

答えて

1

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

しかし、あなたは、プロセスのソースコードへのアクセス権を持っている場合、あなたはそれが

  1. キャッチどこか
  2. は、シグナルハンドラをリセット
  3. は、タイムスタンプに書き込みコアダンプを引き起こしていた信号を持つことができます
  4. に信号を再送します。これは今回はコアダンプを引き起こします。

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

+0

が動作する可能性があります。 lsは、HH:MMの精度でのみ変更時刻を示します。しかしおそらくその高解像度で格納されますか? stat()を使って調べることができます – Manohar

関連する問題