linux - 测量核心转储时间

标签 linux linux-kernel

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

最佳答案

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

但是如果你可以访问这个过程的源代码,你就可以拥有它

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

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

关于linux - 测量核心转储时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10049503/

相关文章:

json - 使用 bash 找到匹配的字符串键并在 json 文件中增加其值

linux - 我可以在没有硬件生成器的情况下使用 rng-daemon 来增加 linux 熵吗?

c - 在工作队列中使用 spin_lock() 与 down_interruptible()

javascript - 转义 Shell 字符串 node.js

linux - 从 ec2-user 以外的用户通过 ftp/ssh 访问 ec2 实例

linux - 如何在 shell 脚本中等待模块加载完成?

linux - 读取并删除名称中包含空格的文件

linux - 如何配置和构建内核以定义 CONFIG_* 并生成 autoconf.h

linux - 在一个驱动模块中声明多个设备

android - 如何将设备驱动程序集成到 MIPI-LVDS 桥的 MDSS (MIPI-DSI) 子系统中?