我想从CentOS 6.9迁移到CentOS 7.5。在安装过程中,我看到了一个可以启用或禁用的选项kdump。我想知道什么是kdump,禁用它对服务器有什么不好的影响?我希望稍后在我的服务器上安装数据库,我只想确保kdump没有问题。
发布于 2018-12-29 08:42:48
kdump是一种内核崩溃倾倒机制。在系统崩溃的情况下,kdump生成内核的崩溃转储,可用于进一步分析。根据故障的严重程度,此崩溃转储可能是唯一可供进一步分析的信息。
在系统崩溃的情况下,kdump通过使用kexec系统调用将第二个内核加载到内存中。第二个内核捕获第一个内核内存的内容。此信息保存为崩溃转储。
为了允许将第二个内核加载到内存中,必须为其永久保留系统内存的一部分。第一个内核无法访问这个内存区域。保留的内存量取决于系统架构和系统上安装的总内存量。例如,具有x86_64体系结构和2 GiB已安装内存的系统将需要为kdump保留至少163968 KiB (160.25 MiB)。
RHEL 7(和CentOS 7,扩展)安装了kdump机制,并在默认情况下激活了(大多数)新安装。Anaconda安装程序为配置kdump提供了有限的选项。其他安装选项(如Kickstart )默认情况下可能没有启用kdump。
有关kdump (安装、配置、使用)的更多详细信息,请参阅关于内核管理的RHEL 7文档:内核崩溃转储指南
发布于 2018-12-29 08:49:27
kdump在内核崩溃时转储内核内存。所以
否则就让它启用。
对大多数人来说(1)是真的。对于其余部分,无论是(2)还是(3)都可能是真的。如果您使用嵌入式linux制作了一个高价值的设备,那么kdump就会非常有价值。
发布于 2021-07-30 15:54:12
kdump只用于调试内核崩溃。启用它有一个主要缺点,占用大量内存。例如,在一个拥有2GB RAM的系统上,它将消耗掉8%的内存。由于RAM通常是服务器性能的一个限制因素,因此对大多数用户来说,这是对“最弱环节”的一次打击,因此这可能是一个重大损失。除了RAM命中之外,没有其他的缺点。
我要问您的问题是:您需要调试内核崩溃吗?
CentOS及其较新的克隆,如Rocky和AlmaLinux,以及商业对应的,通常都是为了在生产环境中保持稳定而选择的。在我运行生产服务器的19+年中,我从来没有经历过CentOS或任何生产服务器上的内核崩溃,甚至那些运行“不太稳定”的发行版也是如此。
在使用实验性驱动程序或设置为桌面系统编译自己的内核时,以及在使用Gentoo或LFS这样的“尖端”Linux系统时,我只经历过一次内核崩溃。在这些情况下,我知道我要进入的是什么,我确保kdump是启用的。即使在那里,撞车也是罕见的。我为生产服务器编译了许多自定义内核,它们中没有一个崩溃过。
绝大多数运行生产服务器的人都希望禁用kdump。如果您正在使用CentOS或任何相对稳定的发行版,而不编译您自己的内核,请禁用它。一些编译自己的内核的人,如果他们对他们正在使用的设置有信心的话,甚至可能想要禁用它。
https://unix.stackexchange.com/questions/491418
复制相似问题