(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.18-194.el5kdump.img Warning: There is not enough space to save a vmcore. The size of /dev/sda2 should be much greater than 1035108 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內核仍舊能夠創建轉儲。當系統重啟,顯示將會恢復到正常狀態。