LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: WindowsNT

怎么才能用到4GB的内存

[复制链接]
发表于 2006-2-10 09:34:01 | 显示全部楼层
和我理解的有些出入
有机会搞个4G的玩玩再说
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-2-10 09:37:52 | 显示全部楼层
多谢指点,重新选择64G选项之后编译内核后可以使用4GB内存了。

# cat /proc/meminfo
MemTotal:      4147036 kB
MemFree:       4028968 kB
Buffers:         13876 kB
Cached:          67792 kB
SwapCached:          0 kB
Active:          45872 kB
Inactive:        38420 kB
HighTotal:     3276544 kB
HighFree:      3199344 kB
LowTotal:       870492 kB
LowFree:        829624 kB
SwapTotal:     4008208 kB
SwapFree:      4008208 kB
Dirty:               0 kB
Writeback:           0 kB
Mapped:           4888 kB
Slab:            17224 kB
CommitLimit:   6081724 kB
Committed_AS:    10036 kB
PageTables:        252 kB
VmallocTotal:   118776 kB
VmallocUsed:      5076 kB
VmallocChunk:   113320 kB
回复 支持 反对

使用道具 举报

发表于 2006-2-10 09:47:13 | 显示全部楼层
有点奇怪的是
x86_64架构的配置选项里是没有highmem的
难道你把64位的Xeon当32位的用的?

你的主板BIOS里有
DRAM over 4G mapping function
这个选项么

或者你的主板说明书有没有提到这个问题
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-2-10 09:51:35 | 显示全部楼层
总结一下,环境如下:
Dell PowerEdge 2850服务器,4X1GB内存,XEON3.0G CPU,2006年1月份购买

安装Gentoo 2005.1操作系统,编译内核时选择4GB内存选项,进入系统之后只能识别出3.6GB内存,另外一台硬件配置完全相同的服务器安装RHEL4则可以正确识别4GB内存。

在启动参数中加入mem=8GB,重新启动系统,仍然只能识别出3.6GB内存。

重新配置内核,选择64GB内存选项,并编译安装。重新启动之后可以正确识别出4GB内存,而且启动文件中不需要额外增加mem=8GB参数。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-2-10 09:53:57 | 显示全部楼层
Post by zhllg
有点奇怪的是
x86_64架构的配置选项里是没有highmem的
难道你把64位的Xeon当32位的用的?

你的主板BIOS里有
DRAM over 4G mapping function
这个选项么

或者你的主板说明书有没有提到这个问题

BIOS里面没有这个选项,而且没有看主板说明书(难找),因为另一台服务器只是安装了不同的操作系统却可以正确识别内存,所以我猜想不太可能是因为主板的问题。
另外,从来就没有将EM64T当成是64位的CPU。
回复 支持 反对

使用道具 举报

发表于 2006-2-10 09:55:48 | 显示全部楼层
可不可以贴一下这个命令的结果
cat /proc/1/maps
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-2-10 09:59:34 | 显示全部楼层
Post by zhllg
可不可以贴一下这个命令的结果
cat /proc/1/maps

这个是做什么用的?
# cat /proc/1/maps
08048000-0804e000 r-xp 00000000 08:03 393        /sbin/init
0804e000-0804f000 rw-p 00005000 08:03 393        /sbin/init
0804f000-08070000 rw-p 0804f000 00:00 0          [heap]
b7e32000-b7e33000 rw-p b7e32000 00:00 0
b7e33000-b7f43000 r-xp 00000000 08:03 252        /lib/libc-2.3.4.so
b7f43000-b7f44000 ---p 00110000 08:03 252        /lib/libc-2.3.4.so
b7f44000-b7f45000 r--p 00110000 08:03 252        /lib/libc-2.3.4.so
b7f45000-b7f48000 rw-p 00111000 08:03 252        /lib/libc-2.3.4.so
b7f48000-b7f4a000 rw-p b7f48000 00:00 0
b7f51000-b7f64000 r-xp 00000000 08:03 264        /lib/ld-2.3.4.so
b7f64000-b7f66000 rw-p 00012000 08:03 264        /lib/ld-2.3.4.so
bfd4f000-bfd64000 rw-p bfd4f000 00:00 0          [stack]
ffffe000-fffff000 ---p 00000000 00:00 0          [vdso]
回复 支持 反对

使用道具 举报

发表于 2006-2-10 10:01:20 | 显示全部楼层
Post by WindowsNT

另外,从来就没有将EM64T当成是64位的CPU。

事实上,不需要理会EM64T或者AMD64实现的细节
从一个使用者角度来说
当它们运行于长模式(long mode)的64位模式下,确实是64位的
回复 支持 反对

使用道具 举报

发表于 2006-2-10 10:03:16 | 显示全部楼层
Post by WindowsNT
这个是做什么用的?
# cat /proc/1/maps
08048000-0804e000 r-xp 00000000 08:03 393        /sbin/init
0804e000-0804f000 rw-p 00005000 08:03 393        /sbin/init
0804f000-08070000 rw-p 0804f000 00:00 0          [heap]
b7e32000-b7e33000 rw-p b7e32000 00:00 0
b7e33000-b7f43000 r-xp 00000000 08:03 252        /lib/libc-2.3.4.so
b7f43000-b7f44000 ---p 00110000 08:03 252        /lib/libc-2.3.4.so
b7f44000-b7f45000 r--p 00110000 08:03 252        /lib/libc-2.3.4.so
b7f45000-b7f48000 rw-p 00111000 08:03 252        /lib/libc-2.3.4.so
b7f48000-b7f4a000 rw-p b7f48000 00:00 0
b7f51000-b7f64000 r-xp 00000000 08:03 264        /lib/ld-2.3.4.so
b7f64000-b7f66000 rw-p 00012000 08:03 264        /lib/ld-2.3.4.so
bfd4f000-bfd64000 rw-p bfd4f000 00:00 0          [stack]
ffffe000-fffff000 ---p 00000000 00:00 0          [vdso]


果然不出所料
你的内核是32位的
应该使用64位的内核
你看看那个RHEL4的`cat /proc/1/maps`
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-2-10 10:05:20 | 显示全部楼层
你是说这二个机器用的CPU不同?
# cat /proc/1/maps
00a8c000-00aa1000 r-xp 00000000 09:01 690111     /lib/ld-2.3.4.so
00aa1000-00aa2000 r--p 00015000 09:01 690111     /lib/ld-2.3.4.so
00aa2000-00aa3000 rw-p 00016000 09:01 690111     /lib/ld-2.3.4.so
00aa5000-00bc8000 r-xp 00000000 09:01 690112     /lib/tls/libc-2.3.4.so
00bc8000-00bc9000 r--p 00123000 09:01 690112     /lib/tls/libc-2.3.4.so
00bc9000-00bcc000 rw-p 00124000 09:01 690112     /lib/tls/libc-2.3.4.so
00bcc000-00bce000 rw-p 00bcc000 00:00 0
00bd0000-00bdd000 r-xp 00000000 09:01 688220     /lib/libsepol.so.1
00bdd000-00bde000 rw-p 0000c000 09:01 688220     /lib/libsepol.so.1
00bde000-00be6000 rw-p 00bde000 00:00 0
00d1e000-00d2b000 r-xp 00000000 09:01 690125     /lib/libselinux.so.1
00d2b000-00d2c000 rw-p 0000d000 09:01 690125     /lib/libselinux.so.1
08048000-0804f000 r-xp 00000000 09:01 278585     /sbin/init
0804f000-08050000 rw-p 00007000 09:01 278585     /sbin/init
08362000-08383000 rw-p 08362000 00:00 0
b7feb000-b7fed000 rw-p b7feb000 00:00 0
bffd8000-c0000000 rw-p bffd8000 00:00 0
ffffe000-fffff000 ---p 00000000 00:00 0
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表