19.3. 配置内核收集器

kdump 服务使用 core_collector 程序捕获 vmcore 镜像。在 RHEL 中,makedumpfile 工具是默认的内核收集器。makedumpfile 是一个转储程序,它帮助使用各种转储级别只复制所需的页,并压缩转储文件的大小。

使用 makedumpfile,您可以通过压缩转储数据或排除页面或两者来创建小大小转储文件。它需要第一个内核调试信息来通过分析第一个内核如何使用内存来区分不需要的页面。

语法

core_collector makedumpfile -z -d 31 --message-level 1

选项

  • -c, -l, -z, 或 -p: 指定每个页的压缩转储文件的格式,-c 用于 zlib, -l 用于 lzo, -z 用于 zstd, 或 -p 用于 snappy
  • -d (dump_level) :排除页面,使其不会复制到转储文件中。
  • --message-level :指定消息类型。

    使用 --message-level,您可以限制输出的内容。例如,将 7 指定为消息级别会输出常见消息和错误消息。--message_level 的最大值为 31。

先决条件

  • 实现了配置和目标的 kdump 要求。

流程

  1. root 用户身份,编辑 /etc/kdump.conf 配置文件,在以下命令的开始处删除 hash 符号(#"):

    core_collector makedumpfile -z -d 31 --message-level 1
  2. 要启用转储文件压缩,请指定 makedumpfile 选项之一:

    core_collector makedumpfile -z -d 31 --message-level 1

    其中,

    • -z 指定 dump 压缩的文件格式。
    • -d 将转储级别指定为 31。
    • --message-level 将消息级别指定为 1。

另外,请考虑以下使用 -l 的示例:

  • 使用 -l 压缩转储文件:

    core_collector makedumpfile -l -d 31 --message-level 1

其他资源

  • makedumpfile(8) 手册页