我们遇到一个问题,我们的CentOS 7服务器在内核崩溃时不会在/ var / crash中生成内核转储文件。崩溃内核似乎永远不会启动。我们已经按照Rhel指南(http://red.ht/1sCztdv)来配置故障转储,乍一看似乎所有内容都配置正确。我们引发了这样的恐慌:
echo 1 > /proc/sys/kernel/sysrq
echo c > /proc/sysrq-trigger
这会导致系统冻结。我们在控制台上没有消息,控制台变得没有响应。此时我想象系统会启动崩溃内核并开始将转储写入/ var / crash。我把它保持在这个冻结状态长达30分钟,以便有时间完成整个转储。但是在硬冷启动/ var / crash之后是空的。
此外,我已按预期复制KVM虚拟机中的配置和kdump字。因此,我在物理系统上的配置有问题,或者导致挂起而不是转储的硬件配置有些奇怪。
我们的服务器是HP G9,具有24核和128GB内存。以下是其他一些细节:
[user@host]$ cat /proc/cmdline
BOOT_IMAGE=/vmlinuz-3.10.0-123.el7.x86_64 root=UUID=287798f7-fe7a-4172-a35a-6a78051af4d2 ro rd.lvm.lv=vg_sda/lv_root vconsole.font=latarcyrheb-sun16 rd.lvm.lv=vg_sda/lv_swap crashkernel=auto vconsole.keymap=us rhgb nosoftlockup intel_idle.max_cstate=0 mce=ignore_ce processor.max_cstate=0 idle=mwait isolcpus=2-11,14-23
[user@host]$ systemctl is-active kdump
active
[user@host]$ cat /etc/kdump.conf
path /var/crash
core_collector makedumpfile -l --message-level 1 -d 31 -c
[user@host]$ cat /proc/iomem |grep Crash
2b000000-357fffff : Crash kernel
[user@host]$ dmesg|grep Reserving
[ 0.000000] Reserving 168MB of memory at 688MB for crashkernel (System RAM: 131037MB)
[user@host]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_sda-lv_root 133G 4.7G 128G 4% /
devtmpfs 63G 0 63G 0% /dev
tmpfs 63G 0 63G 0% /dev/shm
tmpfs 63G 9.1M 63G 1% /run
tmpfs 63G 0 63G 0% /sys/fs/cgroup
/dev/sda1 492M 175M 318M 36% /boot
/dev/mapper/vg_sdb-lv_data 2.8T 145G 2.6T 6% /data
答案 0 :(得分:0)
修改以下参数后,我们能够可靠地获得崩溃转储:
不是100%确定为什么会这样,但确实如此。很想知道别人的想法
埃里克
答案 1 :(得分:0)
埃里克,
1G似乎有点大。对于普通服务器,我从未见过任何大于200M的东西。不确定sysconfig设置。压缩是一个好主意,但我不认为它会影响问题,因为你的目标接近总内存并且你只是倾销内核环。