但进入系统后,使用 free 发现 4G 的内存,却只显示 3.4GB 左右。在 BIOS 中对于显卡的 frame buffer 的设置最大也只有 256MB,不可能差这边大。
从 dmesg 的记录来看,在 Linux 启动的时候有一个 Warning 信息,
BIOS-e820: 00000000f0000000 - 00000000f2000000 (reserved)这个警告信息比较奇怪,应该是说明了问题所在。结合以前遇到过的关于 4GB 内存不能启动的问题,估计应该是内核对大内存支持的问题。于是重新下载内核源代码并进行编译,学者处理器的内存支持为 64GB,重启后就 OK 了。
BIOS-e820: 00000000fec00000 - 0000000100000000 (reserved)
BIOS-e820: 0000000100000000 - 0000000120000000 (usable)
Warning only 4GB will be used.
Use a PAE enabled kernel.
3200MB HIGHMEM available.
896MB LOWMEM available.
found SMP MP-table at 000f4ad0
Using x86 segment limits to approximate NX protection
On node 0 totalpages: 1048576
DMA zone: 4096 pages, LIFO batch:0
Normal zone: 225280 pages, LIFO batch:31
HighMem zone: 819200 pages, LIFO batch:31
DMI 2.3 present.
在内核 config 文件中的定义是:
CONFIG_HIGHMEM4G=y变为
# CONFIG_HIGHMEM64G is not set
# CONFIG_HIGHMEM4G is not set这里对 HIGHMEM 我还不是太清楚其含义,最近正在看《LINUX 内核解析》,应该能够得到说明。
CONFIG_HIGHMEM64G=y
没有评论:
发表评论