2008-09-09 119 views
4

Jeff在32位Vista中覆蓋了這段時間,而後者爲on his blogUbuntu 32位最大地址空間

是否適用於32位Vista的相同32位4 GB內存上限適用於32位Ubuntu?有沒有創造性地解決這個問題的32位操作系統?

回答

2

理論上,所有的32位操作系統都有這個問題。你有32位做尋址。 2^32比特/ 2^10(比特每kb)/ 2^10(kb每mb)/ 2^10(mb每gb)= 2^2 = 4gb。

雖然有一些解決方法。 (查找從16位計算到32位計算的跳轉,他們遇到同樣的問題。)

+0

解決這個問題的標準方法是使用PAE來提供36位來進行尋址。 – ChrisInEdmonton 2009-11-10 16:09:31

0

Linux支持稱爲PAE的技術,可以使用超過4GB的內存,但是我不知道是否Ubuntu默認啓用它。你可能需要編譯一個新的內核。

編輯:Ubuntu論壇上的一些線程暗示服務器內核默認具有PAE,您可以嘗試安裝它。

+0

不需要編譯它,只需安裝包。 – 2012-02-14 09:28:34

3

是的,32位ubuntu具有相同的內存限制。

但也有例外的4GB的限制,但它們是針對特定應用...正如微軟SQL Server可以使用16千兆字節以「物理地址擴展」 [PAE]配置和支持,並...啊 http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=3703755&SiteID=17

此外,ubuntu和windows中的驅動程序都通過將內存從4GB映射到設備來減少4GB地址空間的可用內存量。顯卡在這方面特別糟糕,你的256MB顯卡至少使用了256MB的地址空間......

如果你能[你的驅動程序支持它,並且cpu足夠新],請安裝64位操作系統。你的32位應用程序和遊戲運行良好。

+0

這不是真的。 32位應用程序和遊戲大多運行良好 - 在理論上。實際上這是一個巨大的麻煩。 – 2009-05-05 02:10:54

+1

這是不正確的。運行其中一個PAE_enabled內核的32位Ubuntu支持超過4 GB的物理RAM。但是,仍然存在每個進程的限制。 – ChrisInEdmonton 2009-11-10 16:08:54

+0

是的,在32位模式下使用超過4 GB的RAM需要在/ dev/shm或其他一些ramfs或tmpfs中映射和取消映射文件。 – 2011-02-02 23:49:57

3

那麼,在windows中,有一種叫做PAE的東西,這意味着你可以在Windows機器上訪問多達64GB的內存。缺點是大多數應用程序不支持實際使用超過4 GB的RAM。只有少數應用程序(如SQL Server)被編程爲實際利用所有額外內存。

4

Ubuntu服務器在內核中啓用了PAE,桌面版本沒有默認啓用此功能。

這說明,順便說一下,爲什麼而桌面版確實

2

似乎有大約PAE一些混亂的Ubuntu服務器不會在某些硬件仿真器工作。 PAE是「頁面地址擴展」,絕不是Windows的功能。英特爾在他們的奔騰II(和更新的)芯片上投入了大量資金,以允許機器訪問64GB的內存。在Windows上,應用程序需要明確支持PAE,但在開源世界中,軟件包可以根據自己的喜好進行編譯和優化。在Ubuntu(和其他Linux發行版)上可以使用超過4GB內存的軟件包將使用PAE支持進行編譯。這包括所有服務器特定的軟件。