Chúng tôi đang phát triển một ứng dụng xoay được viết bởi Java chỉ yêu cầu bộ nhớ khoảng 128MB và trong tương lai ngắn, tôi không thấy nó đòi hỏi nhiều bộ nhớ hơn 4GB. Trước đây chúng tôi cung cấp 3 bản phát hành khác nhau, một phiên bản dành cho Windows 32 bit, một cho Linux 32 bit và một phiên bản khác dành cho Linux 64 bit, với trình cài đặt đã bao gồm JRE. Phiên bản 64 bit không được bất kỳ ai sử dụng cho đến vài tuần trước, và một OutOfMemoryException đã được báo cáo vì ứng dụng tiêu thụ bộ nhớ nhiều hơn khoảng 40-50% so với phiên bản 32 bit.Ứng dụng 32 bit hoặc 64 bit trên hệ điều hành 64 bit?
Câu hỏi của tôi là cần thiết để chúng tôi cung cấp phiên bản 64 bit cho Linux 64 bit nếu ứng dụng sẽ không bao giờ cần sử dụng bộ nhớ nhiều hơn 4GB? Chúng tôi đã có một số thử nghiệm nhanh chóng cho thấy rằng phiên bản 32 bit cũng hoạt động trên Linux 64 bit. Nhưng tôi không chắc chắn những gì có thể là nhược điểm, chúng tôi sẽ có, ví dụ hiệu suất và/hoặc vấn đề tương thích?
Để tôi làm rõ một chút: phiên bản 32 bit đang sử dụng 128MB là bộ nhớ tối đa, cho phiên bản 64bit, nó có thể yêu cầu 192MB, vì vậy chúng tôi không chỉ phải tạo thêm bộ cài đặt 64 bit mà còn phải tạo các cấu hình khác nhau, điều này làm cho toàn bộ điều phức tạp hơn. Và nếu chúng ta sử dụng 192MB cho tất cả các phiên bản thì nó có thể làm cho rò rỉ bộ nhớ không hiển thị cho chúng ta bởi vì phiên bản 32 bit được sử dụng thường xuyên nhất hiện nay. Một điều nữa là nhiều ứng dụng có thể chạy trên máy chủ đó vì vậy chúng tôi muốn giảm mức tiêu thụ bộ nhớ càng thấp càng tốt. –
Nó sẽ không yêu cầu nhiều bộ nhớ hơn nếu bạn sử dụng các tham chiếu 32 bit trong một JVM 64 bit. –