32位Linux系统怎么能够支持到4G以上的内存


公司客户更换新的服务器后,我上去一看,系统是32位linux系统,但是内存有16g

这个颠覆我一直认为的32位操作系统只能使用4G内存想法。

查了一下,原来带有PAE标识的32位系统是支持扩展内存,最大支持64GB内存

这个是intel新的x86硬件PAE支持36寻址空间,但是多出来的部分是虚拟的地址空间,单个应用程序估计无法使用到超过4GB的空间(32为系统的最大int是4GB),只能是多个进程合起来能够使用到4G以外的内存。

因此就会出现类似32位tomcat设置最大内存超过4G时会无法启动。

若是要单个进程使用超过4GB内存,最好还是安装64位系统。

因此32位linux不打开PAE,则最多只能识别出4GB内存,若打开PAE,则最多可以识别出64GB内存。但是 32位系统下的进程一次最多只能寻址4GB的空间。

相关内容