公司客戶更換新的服務器後,我上去一看,系統是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的空間。