(virtualbox/VMware)linux起步提示memoryforcrashkernel(0*0 to 0*0)notwithinpermissible http://www.myexception.cn/linux-unix/477672.html
一.在vmware上创建了虚拟机,操作系统是Red Hat Enterprise Linux Server release 5.3,当启动虚拟机时出现下面信息:
Memory for crash kernel (0x0 to 0x0) notwithin permissible range
解决办法:
这个信息由于没有配置kdump服务的原因,并没有什么危害可以忽略。kdump是一个新的,而且非常可信赖的内核崩溃转储机制。这篇文章 [Kdump如何配置 http://blog.csdn.net/cybertan/article/details/5661681] 介绍了配置和启用kdump服务的方法,我们还可以采用下面 的图形界面进行配置和启用,步骤如下:
(1)配置kdump。
选择菜单“Applications”——“system tools”——“kdump”,弹出“Kernel Dump Configuration”窗口,选中Enable kdump,设置New kdump Memory(MB): 128MB(推荐大小),location:file:///var/crash(也可以设置其他位置,用来存放当系统崩溃时的转储镜像)。
(2)重新启动系统,错误消失。
二. 在virtualbox上创建了虚拟机,操作系统是Red Hat,当启动虚拟机时出现下面信息:
Memory for crash kernel (0x0 to 0x0) notwithin permissible range
解决办法:
选择菜单“设置”——“系统”——“扩展特性”,选中启用IO APIC。
============================================================================
Kdump如何配置 http://blog.csdn.net/cybertan/article/details/5661681
eg in centos:
1.确认kexec-tools已经安装:
#rpm -q kexec-tools
[root@olinux jz2440]# rpm -q kexec-tools
package kexec-tools is not installed
[root@olinux jz2440]# yum install kexec-tools
2.配置/etc/kdump.conf文件,指定vmcore将被转储的路径。可以通过scp拷贝到另一个服务器,也可以是裸设备,或者本地的文件系统。
3.修改一些启动参数,为捕获很保留一块内存。对于i386和x86_64架构,编辑/etc/grub.conf,在内核行的末尾添加 crashkernel=128@16M 。
下面是一个带有kdump选项的/etc/grub.conf文件节选:
kernel /boot/vmlinuz-2.6.17-1.2519.4.21.el5 ro root=LABEL=/ rhgb quiet crashkernel=128M@16M
4.修改之后,重启系统。128M内存(从16M开始)不被正常的系统使用,为捕获内核保留。注意,free -m的输出会显示内存比不加参数时少了128M,这就是我们所期望的。
注意:可以使用小于128M,但是只使用64M做测试被证实是不可靠的。
5.现在,保留内存已经设置了,打开kdump初始脚本,启动服务:
# chkconfig kdump on
# service kdump start ; 注意,磁盘空间要充足.
[root@olinux jz2440]# service kdump start
No kdump initial ramdisk found. [WARNING]
Rebuilding /boot/initrd-2.6.-.el5kdump.img
Warning: There is not enough space to save a vmcore.
The size of /dev/sda2 should be much greater than kilo bytes.
[root@olinux jz2440]# df /dev/sda2
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 3960348 3032792 723132 81% /
6.可以通过kexec加载内核镜像,让系统准备捕获一个崩溃时产生的vmcore。可以通过sysrq强制系统崩溃:
# echo “c” > /proc/sysrq-trigger
这造成kernel panic,紧跟着系统重启kdump内核。当启动进程进入到启动kdump服务器时,vmcore将会被拷贝到你在/etc/kdump.conf文件中指定的位置。
注意:
终端frame-buffer和X将运行不正常。在运行一些类似于在内核配置上添加了”vga=791″或者运行X的系统,在通过kexec启动内核时,终端显示将不清楚。记住,kdump内核仍旧能够创建转储。当系统重启,显示将会恢复到正常状态。