我们有一个问题,就是我们的CentOS 7服务器不会在内核恐慌时在/var/崩溃中生成内核转储文件。看来崩溃内核从未启动过。我们遵循了关于配置崩溃转储的Rhel指南(http://red.ht/1sCztdv),乍一看,所有的配置都是正确的。我们正在引发这样的恐慌:
echo 1 > /proc/sys/kernel/sysrq
echo c > /proc/sysrq-trigger这会导致系统冻结。我们在控制台上没有消息,控制台就会失去响应。此时,我可以想象系统会启动崩溃内核,并开始将转储写到/var/crash。我把它留在这个冻结状态长达30分钟,给它足够的时间来完成整个转储。但是,经过严寒之后,重新启动/var/崩溃是空的。
此外,我还按照预期在KVM虚拟机和kdump单词中复制了配置。所以,我在物理系统上的配置有问题,或者硬件配置有一些奇怪的地方,导致挂起而不是转储。
我们的服务器是一个有24个核心和128 G9内存的HP G9。以下是其他一些细节:
[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发布于 2015-01-19 16:14:17
在修改了以下参数之后,我们能够可靠地获得崩溃转储:
不能百分之百确定为什么这样做,但它确实如此。想知道别人是怎么想的
埃里克
发布于 2015-02-01 20:23:41
埃里克
1G似乎有点大。对于普通的服务器,我从未见过超过200米的东西。不确定sysconfig设置。压缩是个好主意,但我不认为它会影响问题,因为您的目标是接近总内存,而且您只是抛出内核环。
https://stackoverflow.com/questions/27969444
复制相似问题