您的位置:首页 > 其它

使用grub的memmap的预留内存时系统死机问题的一个解决方案

2016-03-23 22:10 465 查看
今天在测试文件系统时,改了以下grub的启动参数,从memmap=2G$1G改为memmap=8G$1G,然后写文件的时候,写了几个文件,系统就不响应了。刚开始还以为是文件系统的问题,排除了死锁、内存越界等情况后,忽然注意到,文件系统挂载时,系统发出的一个warning。



然后我想着会不会跟这个有关呢。然后用dmesg看看相关信息。注意到在dmesg的开头有bios关于内存的信息



我预留的内存区域刚好跨过了两个区域

ACPI:[0x00000000dfff0000-0x00000000dfffffff]
reserved:[0x00000000e0000000-0x000000023fffffff]


于是写文件的时候,文件系统覆盖了这个区域上面的数据,就可能会死机了。于是我把grub参数改为memmap=6G$4G,正好对应于physical RAM map的最后一个usable区域,这样再运行文件系统,就没死机情况了。而这也解释了原来的参数memmap=2G$1G可以正常运行的原因:这个区域刚好落在第二个usable区域。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  文件系统 memmap grub