Tôi tin rằng câu hỏi chính khi chọn giữa 32 và 64 bit không phải là "Bộ xử lý của tôi có hỗ trợ 64 bit không - nếu vậy thì tôi nên sử dụng 64 vì điều đó tốt gấp đôi", nhưng "Tôi có bao nhiêu bộ nhớ?" .
Các chương trình 64 bit sử dụng thêm khoảng 50% bộ nhớ sau đó là các đối tác 32 bit của chúng. Kết quả của việc này là:
ít mã / dữ liệu có thể phù hợp với bộ đệm của bộ xử lý -> nhiều lỗi bộ nhớ cache hơn -> bộ xử lý siêu nhanh của bạn chờ thêm bộ điều khiển bộ nhớ để lấy dữ liệu từ RAM. Bộ xử lý cũng cần đọc thêm dữ liệu vì nó cồng kềnh hơn.
Linux sử dụng RAM không được phân bổ cho các đĩa đệm. Bộ nhớ trống ít hơn có sẵn -> ít không gian hơn cho bộ đệm đĩa -> truy cập đĩa chậm hơn
Khi bạn hết RAM và hệ thống bắt đầu hoán đổi - truy cập đĩa chậm hơn hàng nghìn lần so với RAM, do đó, bất kỳ lợi ích tiềm năng nào của mã 64 bit (xem bên dưới) sẽ bay ra khỏi cửa sổ.
Mặt khác, trong bộ xử lý chế độ 64 bit có nhiều thanh ghi hơn, do đó không cần truy cập vào bộ nhớ mà thường, một số tính toán (số 64 bit, v.v.) hiệu quả hơn. Vì vậy, nhìn chung, mã không bị giới hạn bộ nhớ sẽ chạy nhanh hơn một chút trong chế độ 64 bit.
Vì vậy, nếu hệ thống của bạn có RAM 2GiB trở xuống thì tôi chắc chắn sẽ chọn 32 bit. Hơn 4GiB - lợi ích của 64 bit đang trở nên nổi bật hơn. Xung quanh 4GiB là một "vùng màu xám" - bạn cần tự mình đưa ra lựa chọn.
Dưới đây là ảnh chụp màn hình của một Ubuntu vanilla (khá cũ) đang chạy trong VirtualBox với RAM 1GiB:
32 bit: sử dụng 388 MiB RAM ngay sau khi khởi động, không có ứng dụng bổ sung nào đang chạy (từ ảnh chụp màn hình, 397780KiB, là 388MiB)
64 bit: sử dụng 491 MiB RAM (từ ảnh chụp màn hình, 503452KiB = 491MiB)
Ngoài ra, trong thử nghiệm của tôi, một ứng dụng web viết bằng Python đã sử dụng bộ nhớ nhiều hơn tới 60% trên máy 64 bit, kết quả là bộ thử nghiệm chạy trong 380 giây trên máy 32 bit nhưng mất 523 giây trên 64- bit một (cả hai với 1GiB RAM). Nếu các máy không bị giới hạn RAM, kết quả có thể sẽ khác (như các thử nghiệm phoronix cho thấy).
Dưới đây là một số thử nghiệm kỹ lưỡng và gần đây hơn: http://kernel.ubfox.com/~cking/x32/Quantal-x32-power-memory-comparisons.ods
Về cơ bản, nó giống như từ bỏ 30% RAM của bạn để đổi lấy mức tăng 10% tốc độ CPU có thể.