使用grub的memmap的预留内存时系统死机问题的一个解决方案
2016-03-23 22:10
465 查看
今天在测试文件系统时,改了以下grub的启动参数,从memmap=2G$1G改为memmap=8G$1G,然后写文件的时候,写了几个文件,系统就不响应了。刚开始还以为是文件系统的问题,排除了死锁、内存越界等情况后,忽然注意到,文件系统挂载时,系统发出的一个warning。
然后我想着会不会跟这个有关呢。然后用dmesg看看相关信息。注意到在dmesg的开头有bios关于内存的信息
我预留的内存区域刚好跨过了两个区域
于是写文件的时候,文件系统覆盖了这个区域上面的数据,就可能会死机了。于是我把grub参数改为memmap=6G$4G,正好对应于physical RAM map的最后一个usable区域,这样再运行文件系统,就没死机情况了。而这也解释了原来的参数memmap=2G$1G可以正常运行的原因:这个区域刚好落在第二个usable区域。
然后我想着会不会跟这个有关呢。然后用dmesg看看相关信息。注意到在dmesg的开头有bios关于内存的信息
我预留的内存区域刚好跨过了两个区域
ACPI:[0x00000000dfff0000-0x00000000dfffffff] reserved:[0x00000000e0000000-0x000000023fffffff]
于是写文件的时候,文件系统覆盖了这个区域上面的数据,就可能会死机了。于是我把grub参数改为memmap=6G$4G,正好对应于physical RAM map的最后一个usable区域,这样再运行文件系统,就没死机情况了。而这也解释了原来的参数memmap=2G$1G可以正常运行的原因:这个区域刚好落在第二个usable区域。
相关文章推荐
- Ubuntu下更改Grub的背景图片
- 开机出现:grub rescue的修复方法
- 文件系统变为raw 无法访问的解决方法
- PHP 文件系统详解
- Powershell实现克隆NTFS文件系统权限
- LINUX安全设置之关于GRUB加密图文教程全解
- php中的filesystem文件系统函数介绍及使用示例
- 用Python编写一个简单的FUSE文件系统的教程
- 【转自中科蓝鲸】集群NAS与集群文件系统的区别
- [Linux学习笔记] Linux系统引导流程(二)
- Ubuntu+Windows双系统重装Windows后修复Grub引导
- HBase 系统架构
- 修改内核 内存分配 root、文件系统和内核镜像的位置
- [grub实现]U盘引导多个linux镜像安装,同时支持BIOS和UEFI模式
- 通过Grub启动硬盘上的Linux ISO安装文件
- LINUX的EXT2文件系统
- 文件系统的简单操作
- Linux系统启动流程及grub详解(转载)
- GRUB加密
- Linux2.6X内核中文件相关结构体总结