Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1569614
  • 博文数量: 317
  • 博客积分: 10283
  • 博客等级: 上将
  • 技术积分: 3566
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-04 11:38
个人简介

哥使用Linux

文章分类

全部博文(317)

分类: 服务器与存储

2008-01-27 11:28:47

简单的说,OS可以支持到64G,但是单进程只能使用4G



操作系统在32bit x86平台上最大寻址空间只有4GB,如果要使用大于4GB的内存,就必须
使用Intel的PAE(物理地址扩展)模式。在Windows NT平台实现PAE只需要对boot.ini加
上/pae即可。而对于RHEL5,缺省安装模式下是不允许检测超过4GB内存,所以我们需要
在内核安装完毕后再安装kernel-PAE套件。

x86 平台的硬件支持两级页表,Intel Pentium pro以上的型号均支持PAE和三级页表,
使得系统最大寻址达到36位,就是64GB的内存。但是系统进程运行时使用的永远是虚拟
地址,在32位字长的 i386机器上,一个进程永远无法访问超出4G的字节。kernel只能通
过拼凑的方式计算出大于4G的内存地址。

在Linux kernel配置项里有High Memmory Support, 如果总内存小于等于1G的选"off",
大于4G的选"64G"

Note: Linux can use up to 64 Gigabytes of physical memory on x86 systems.
However, the address space of 32-bit x86 processors is only 4 Gigabytes
large. Thus means that, if you have a large amount of physical memory, not
all of it can be "permanently mapped" by the kernel. The physical memory
that's not permanently mapped is called "high memory".

还有一项Allocate 3rd-level pagetables from highmem,使用这一项可以在内存很多(
大于4G)的机器上将用户空间的页表放到高位内存区,以节约宝贵的低端内存。
阅读(2399) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~