我們有一個windows server 2008 R2 32G內存機器,這顯然是一個64位操作系統。我們安裝了XAMPP 32位版本,配有32位MySQL和PHP。然後我們託管一個用PHP編寫的webmail系統。我的問題是:那些32位MySQL和32位PHP會消耗超過4G內存的操作系統?我們是否必須安裝64位MYSQL和PHP來實現這個結果?在64位操作系統上運行的32位程序內存消耗
謝謝
我們有一個windows server 2008 R2 32G內存機器,這顯然是一個64位操作系統。我們安裝了XAMPP 32位版本,配有32位MySQL和PHP。然後我們託管一個用PHP編寫的webmail系統。我的問題是:那些32位MySQL和32位PHP會消耗超過4G內存的操作系統?我們是否必須安裝64位MYSQL和PHP來實現這個結果?在64位操作系統上運行的32位程序內存消耗
謝謝
基於x86架構的指令集,在32位編譯的軟件將永遠不會成爲能夠分配比4GiB更多,因爲他們將不能夠直接訪問該存儲器。由於它們使用32位來表示內存地址,並且由於2^32 = 4GiB(四捨五入),所以它們將無法進一步表示任何地址。
在附註中,軟件可以通過使用PAE在32位系統上間接處理超過4GiB的內存,但必須明確開發該軟件才能使用該功能。
您需要每個軟件及其庫的64位版本,否則即使操作系統識別出所有內存,您也將無法直接使用4GiB以上的版本。
這不完全正確。一個操作系統可以利用[頁面地址擴展](http://en.wikipedia.org/wiki/Physical_Address_Extension),儘管虛擬內存地址空間仍然是4GB。 (但是,請參閱特定操作系統限制/ impls的詳細信息。) – 2010-10-03 04:05:10
他的操作系統已經是64位,我從未提及OS 32位可能永遠不會超過4GiB,只有以32位編譯的軟件可能無法尋址直接超過4GiB。就我所知,PAE機制並未在XAMPP中植入。 – Soravux 2010-10-03 04:08:02
關閉以遷移到serverfault.com。 – webbiedave 2010-10-04 20:01:03