首先說相容性:以我的經驗,64 位的相容性更好。理由很簡單:通常 64 位的系統,可以執行 64 位應用程式和 32 位應用程式。但是 32 位的系統,並不總是能正常執行 64 位的程式。所以,基本上 64 位裝了 multilib 然後 64-32 通吃, 32 位雖然理論上可以吃 64 位應用程式,但這方面的測試和應用並不普遍,出了問題誰也不保證能解決。我現在所有的 Linux 機器都是 64 位。鑑於 Linux 下面絕大多數應用程式都有 64 位,Linux 顯然是比 Windows 更值得上 64 位的。現在來說優點:64 位的一個優點就是你的 CPU 終於可以全部用上了,在 32 位模式中,你的 CPU 只有一半的暫存器起了作用,而這部分暫存器也只有一半的空間(低32位)起作用。真正工作的暫存器空間只有四分之一。換句話說,32位模式中,你的 CPU 有四分之三的暫存器空間是閒置的。64 位的另外一個優點是原生 SSE 支援,一般而言,32 位 Linux 程式碼的編譯選項都不帶 SSE,除了某些單獨處理要支援 SSE 的應用程式以外。而 64 位的所有應用程式,SSE 都是開啟的,因為所有 64 位 x86 CPU 都支援 SSE,所以這個選項直接打開了。當然 64 位另外一個優點就是你的應用程式終於可以用上2G以上的記憶體了,32 位可以使用 PAE 核心你的系統總記憶體達到 64G。——但是對於任何一個單一的程序,你仍然受到 4G 的限制,而對於不同的系統而言,有可能只能用到 2G。而對於 64 位系統,任何一個程式都可以分配超過 4G 的記憶體,這對於 Photoshop 一類吃海量記憶體的軟體來說非常有用。最後來說說缺點:64位的最大缺點自然是記憶體佔用。首先, 64 位程式碼天然的比 32 位程式碼長一倍,考慮到指令集方面的最佳化,實際上,64位程式碼可能只相當於32位的 120%-150% 空間,當然,即便是這一點,也比原先佔用更多了。其次,如果你一定需要執行那些閉源的,不帶 64 位支援的 32 位軟體,那麼你就需要安裝 multilib,而這,一定程度上意味著你一個機器有兩套庫,這又是額外的記憶體佔用。所以總的來說,系統記憶體佔用可能加倍,當然這對目前的主流機器來說並沒有太大問題。也就是從原先的系統啟動 512M,變成了系統啟動佔 700M-1G 的水平。
首先說相容性:以我的經驗,64 位的相容性更好。理由很簡單:通常 64 位的系統,可以執行 64 位應用程式和 32 位應用程式。但是 32 位的系統,並不總是能正常執行 64 位的程式。所以,基本上 64 位裝了 multilib 然後 64-32 通吃, 32 位雖然理論上可以吃 64 位應用程式,但這方面的測試和應用並不普遍,出了問題誰也不保證能解決。我現在所有的 Linux 機器都是 64 位。鑑於 Linux 下面絕大多數應用程式都有 64 位,Linux 顯然是比 Windows 更值得上 64 位的。現在來說優點:64 位的一個優點就是你的 CPU 終於可以全部用上了,在 32 位模式中,你的 CPU 只有一半的暫存器起了作用,而這部分暫存器也只有一半的空間(低32位)起作用。真正工作的暫存器空間只有四分之一。換句話說,32位模式中,你的 CPU 有四分之三的暫存器空間是閒置的。64 位的另外一個優點是原生 SSE 支援,一般而言,32 位 Linux 程式碼的編譯選項都不帶 SSE,除了某些單獨處理要支援 SSE 的應用程式以外。而 64 位的所有應用程式,SSE 都是開啟的,因為所有 64 位 x86 CPU 都支援 SSE,所以這個選項直接打開了。當然 64 位另外一個優點就是你的應用程式終於可以用上2G以上的記憶體了,32 位可以使用 PAE 核心你的系統總記憶體達到 64G。——但是對於任何一個單一的程序,你仍然受到 4G 的限制,而對於不同的系統而言,有可能只能用到 2G。而對於 64 位系統,任何一個程式都可以分配超過 4G 的記憶體,這對於 Photoshop 一類吃海量記憶體的軟體來說非常有用。最後來說說缺點:64位的最大缺點自然是記憶體佔用。首先, 64 位程式碼天然的比 32 位程式碼長一倍,考慮到指令集方面的最佳化,實際上,64位程式碼可能只相當於32位的 120%-150% 空間,當然,即便是這一點,也比原先佔用更多了。其次,如果你一定需要執行那些閉源的,不帶 64 位支援的 32 位軟體,那麼你就需要安裝 multilib,而這,一定程度上意味著你一個機器有兩套庫,這又是額外的記憶體佔用。所以總的來說,系統記憶體佔用可能加倍,當然這對目前的主流機器來說並沒有太大問題。也就是從原先的系統啟動 512M,變成了系統啟動佔 700M-1G 的水平。