昨天写Linux服务器信息检测脚本的时候,当检测到内存的时候才发现貌似少了2个G内存。于是开始了漫长的排查过程。
首先使用dmidecode -t memory|grep Size|grep -v "No"命令查看服务器上插了几根多大的内存条,检测结果为2个2G内存条,可是使用free -m命令却显示内存总共仅有2G,使用cat /proc/meminfo命令查看结果仍为2G内存,就想着是系统没有识别到另外一根内存条。于是准备在凌晨对服务器进行重启操作。
然后第二天早上凌晨5点多就爬起来把服务器重启了。重启后使用上面的命令发现内存识别到3个G了,可还是不是4个G。使用dmesg|grep Mem命令查看结果显示“crash kernel”,然后早上跑去公司第一时间联系了DELL售后工程师,结果DELL的售后工程师也搞不明白。在进行了长时间的排查后,DELL的售后工程师建议我们更换内存条插法或者更换内存。然后跑老男孩的群里咨询了下,结果有大牛回说是PAE的问题,这时候老大也说是PAE问题。最后决定晚上的时候再测试下。
然后刚才跑服务器上运行yum install kernel-PAE命令安装了PAE,然后cat /root/grub/grub.conf,可以看到已经安装了PAE。这时候记得修改defaut的值为0,如果为1则表示会启动第二个title。修改完成后记得重启服务器。
重启完成后,使用原来的命令可以看到内存已经成功识别到4G了,不过最后还是得建议以后服务器都装X64的系统。