当进程崩溃时,我想测量转储核心所需的时间。我的理解是它是一个执行转储核心的内核函数。这里的任何内核专家都可以指出我可以添加 Hook 来测量核心转储时间的正确位置吗?这是在 64 位内核中,版本 2.6.3*
最佳答案
您不需要修改内核。 Linux 内核 inotify 工具可用于让您知道核心文件何时创建,您可以使用文件的修改时间告诉您核心转储何时完成。
但是如果你可以访问这个过程的源代码,你就可以拥有它
- 捕获可能导致核心转储的信号
- 在某处写下时间戳
- 将信号处理程序重置为默认值
- 重新向自身发送信号,这一次将导致核心转储。
coredump 间隔是核心文件的最后修改时间减去进程之前写入的时间戳。
关于linux - 测量核心转储时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10049503/