標籤:

現在多少人用 64 位的 Linux?都基於什麼考慮?


除非是出於兼容性的考慮,否則請盡量使用 64 位的 Linux 版本:

1. 首先,如各位所知 64 位系統對於大於 4G 的內存會有更好的支持,當然了 32 位系統通過 PAE 也可以支持大於 4G 的內存。

2. 然而,i386 和 x86_64 的區別絕不只是定址空間那麼簡單,舉幾個簡單的例子:

a) 通用寄存器更大更多,i386 的寄存器是 32 位的而 x86_64 是 64 位的,同時寄存器數量也從 8 個變成了 16 個 。寄存器多了有什麼好處呢,最主要的好處就是減少內存操作,比如 x86_64 的程序調用,大部分情況下不需要壓棧,直接用寄存器傳參。同時,更多的通用寄存器對於編譯器的優化也會有所幫助。

i386: eax, ebx, ecx, edx, ebp, esp, esi, edi

x86_64: rax, rbx, rcx, rdx, rbp, rsp, rsi, rdi, r8, r9, r10, r11, r12, r13, r14, r15

b) SIMD 寄存器更多。以 gcc 為例,在 x86_64 的環境下,編譯器對於 double 類型的返回值和傳參都直接用的是 XMM 寄存器,浮點計算敏感的應用會獲得一定的性能提升。

c) Linux Kernel 也從 x86_64 中獲得了一些性能優化。以系統調用為例,64 位的 Linux Kernel 默認用 syscall / sysret 來處理系統調用,比 int / iret 性能要好很多,原因請參見:http://www.x86-64.org/pipermail/discuss/2000-October/001019.html

最後,附上一個 phoronix 的性能測試:http://www.phoronix.com/scan.php?page=articleitem=ubuntu_32_paenum=1


內存大於或等於4GB的不都用64位系統了么……反正我是盡量用64位的。


目前大部分軟體都有64bit的了, 沒有必要在固守32bit的陣營了

同時, 現在電腦的內存也都很大, 64bit比32bit能夠更好的做到定址什麼的, 所以, 64bit, 勢在必得!


現在用32位LINUX的應該很少見了吧 呵呵

64位的裝上32位的庫就可以讓32位的程序在上面跑了


CPU是64位架構的,所以就用了64位的Linux


編譯Android源碼


現在公司里都在用64位吧,不然內存地址空間不夠哇~


1. MongoDB 嗯,這是最直接理由喵~

2. 8×1Gbps 數據爆發抓取,嗯,32bit連吞數據都是問題喵~

3. 倫家的CPU支持,就這樣喵~

4. 倫家有16G內存……


AMD3600+

2G內存

集顯

裝ubuntu12.04 64位版

明顯感覺速度比32的快,約快40%


我認為個人桌面是沒有必要使用 64 位 Linux 系統的。

Windows 應為要跑很多大型遊戲,需要佔用大量內存空間,同時兼顧定址顯存空間,32位平台提供的 4GB 內存定址能力就顯得不夠用了,因此需要使用64位平台,運行64位系統。

Linux 伺服器運行的高並發、高性能網路程序往往對內存的要求越大越好,單進程吃掉幾十GB的情況很多。而32位 Linux 系統中,4GB 地址空間通常會分配高1G給內核使用,應用程序就只剩下 3GB 虛存空間了,肯定是不夠的。使用 64 位系統後就不存在這個問題了。

在桌面環境,Linux 不像 Win 有性能殺手級別的遊戲程序,因此64位應該是沒必要的。而且並不是所有人安裝程序都是從 source code 編譯,而是使用各種包管理器,這時64位平台的源、包較少的缺點就暴露出來了(可能我的認識有些陳舊)。

對於64位平台的程序員來說,64位系統當然很正常,因為這樣就不用費力的做交叉編譯環境了。還有些項目的編譯指定要求64位環境,比如 Chromium OS。


推薦閱讀:

如何學習使用桌面 Linux 發行版?
Linux不是開源的嗎,為什麼RedHat的伺服器版那麼貴?
正在學習嵌入式linux開發,求推薦詳細介紹makefile和鏈接腳本語法相關的書籍或者資料。?
用作生產環境伺服器,FreeBSD和CentOS相比有哪些優劣勢?

TAG:Linux |