3

当一个进程崩溃时,我想测量转储核心需要多长时间。我的理解是它是一个执行转储核心的内核函数。这里的任何内核专家都可以指出我可以添加挂钩来测量核心转储时间的正确位置吗?这是 64 位内核,版本 2.6.3*

4

1 回答 1

1

您不需要修改内核。Linux 内核 inotify 工具可用于让您知道何时创建了核心文件,并且您可以使用文件的修改时间来告诉您核心转储何时完成。

但是,如果您可以访问该过程的源代码,则可以拥有它

  1. 捕获可能导致核心转储的信号
  2. 在某处写一个时间戳
  3. 将信号处理程序重置为默认值
  4. 将信号重新发送给自己,这将导致这次核心转储。

coredump 间隔是核心文件的最后修改时间,减去进程之前写入的时间戳。

于 2012-04-06T21:51:37.420 回答