公司客户更换新的服务器后,我上去一看,系统是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的空间。