介绍
在本次实验中,你将学习如何检查 Linux 系统上是否已设置并配置了内核崩溃转储机制 kdump。我们将首先使用 kdumpctl status 命令检查 kdump 服务的当前状态。
接下来,我们将查看位于 /etc/kdump.conf 的 kdump 主配置文件,以了解其设置。最后,我们将检查 /proc/sys/kernel 目录中与崩溃相关的设置,以进一步验证内核的崩溃转储配置。
使用 kdumpctl status 检查 kdump 状态
在这一步中,你将学习如何使用 kdumpctl 命令检查 kdump 的状态。kdump 是 Linux 中的一项功能,它提供了崩溃转储机制。当系统崩溃时,kdump 会捕获系统内存并将其保存到一个文件中,该文件随后可用于调试崩溃原因。
kdumpctl 命令用于控制 kdump 服务。你可以使用它来检查 kdump 当前是否正在运行以及是否已启用。
打开你的终端。记住,你可以在桌面左侧找到 Xfce Terminal 图标。
现在,输入以下命令并按回车键:
kdumpctl status
此命令将显示 kdump 服务的当前状态。输出会告诉你 kdump 是否已加载、是否处于活动状态以及是否已启用。
你应该会看到类似以下的输出:
kdump is loaded
kexec: loaded
kdump: active
kdump: enabled
此输出表明 kdump 已在你的系统上正确配置并正在运行。
如果你看到不同的输出,这可能意味着 kdump 未启用或未运行。在本次实验中,我们假设 kdump 已启用且处于活动状态。
了解 kdump 的状态是管理 Linux 系统上崩溃转储的第一步。
点击 Continue 进入下一步。
使用 cat /etc/kdump.conf 验证 kdump 配置
在这一步中,我们将查看 kdump 的主配置文件,该文件位于 /etc/kdump.conf。此文件包含控制 kdump 在系统崩溃时行为的设置,例如将崩溃转储保存到何处以及采取何种操作。
我们将使用 cat 命令来显示该文件的内容。cat 命令是一个基本的 Linux 实用工具,用于连接并显示文件内容。
如果终端尚未打开,请打开它。
现在,输入以下命令并按回车键:
cat /etc/kdump.conf
此命令将把 /etc/kdump.conf 文件的全部内容打印到你的终端上。
你会看到几行配置选项。你可能会看到的一些常见选项包括:
path:指定保存崩溃转储的目录。core_collector:定义用于收集崩溃转储的程序(例如makedumpfile)。crashkernel:配置为kdump内核预留的内存量。default:设置保存崩溃转储后要采取的默认操作(例如reboot)。
以下是输出可能的样子的一个片段(确切内容可能会略有不同):
## This is a basic kdump configuration file.
#
#path /var/crash
#core_collector makedumpfile -l --message-level 1 -d 31
#core_collector_args -v --message-level 1 -d 31
#crashkernel 128M
#default reboot
以 # 开头的行是注释,系统会忽略它们。它们通常会对配置选项进行解释。
通过查看此文件,你可以了解系统上 kdump 的配置方式。你可以修改此文件来更改 kdump 的行为,但在对系统配置文件进行更改时要谨慎。
点击 Continue 进入下一步。
检查 /proc/sys/kernel 中的崩溃设置
在这一步中,你将探索 /proc/sys/kernel 目录下与系统崩溃和 kdump 相关的一些内核参数。/proc 文件系统是一个虚拟文件系统,它提供有关进程和其他系统信息。/proc/sys 目录包含一些文件,允许你在运行时查看和修改内核参数。
具体来说,你将查看与崩溃行为相关的文件。你可以再次使用 cat 命令来查看这些文件的内容。
如果终端尚未打开,请打开它。
首先,查看 panic 文件。该文件控制内核在发生严重且不可恢复的错误(即系统崩溃)时的行为。此文件中的值表示内核在崩溃后等待重启的秒数。
输入以下命令并按回车键:
cat /proc/sys/kernel/panic
你将看到输出为一个单独的数字,例如:
0
值为 0 表示内核在崩溃后不会自动重启。正值表示在重启前等待的秒数。
接下来,查看 panic_on_oops 文件。“oops”是一种比系统崩溃程度轻的错误,但它仍可能表示存在问题。此文件决定“oops”是否应触发完整的内核崩溃。
输入以下命令并按回车键:
cat /proc/sys/kernel/panic_on_oops
你将看到输出为 0 或 1:
1
值为 0 表示“oops”不会导致系统崩溃。值为 1 表示“oops”将触发系统崩溃。
这些内核参数对于理解系统如何响应错误以及 kdump 如何参与捕获崩溃信息非常重要。
点击 Continue 完成本次实验。
总结
在本次实验中,你学习了如何检查 Linux 系统上的内核崩溃转储机制 kdump 是否已设置并正在运行。首先,你使用 kdumpctl status 命令来验证 kdump 服务的当前状态,确认它是否已加载、处于活动状态以及是否已启用。这能让你快速了解 kdump 的运行状态。
在检查状态之后,你使用 cat 命令查看了位于 /etc/kdump.conf 的 kdump 主配置文件。这一步骤使你能够检查在系统崩溃期间控制 kdump 行为的具体设置,例如转储位置和崩溃后的操作。理解此文件的内容对于配置和排查 kdump 问题至关重要。



