2012-07-09 35 views
7

Theo tài liệu JVM 6, máy chủ lớp máy chủ nhận được theo mặc định kích thước heap ban đầu là 1/4 RAM hoặc 1GB. Xem xét máy chủ Solaris 64Bit của chúng tôi có 64 GB, kích thước heap ban đầu sẽ mặc định là 256MB. Vì vậy, tôi cần phải thiết lập thủ công kích thước heap bằng cách sử dụng tham số XMX cho 4GB. Mặc dù, khi tôi thêm "-Xmx4096M", Tomcat không bắt đầu. Đây là thông báo lỗi:Cách thiết lập kích thước heap JVM thực sự lớn?

Invalid maximum heap size: -Xmx4096M 
The specified size exceeds the maximum representable size. 
Could not create the Java virtual machine. 

Thông số dòng lệnh của tôi nên cho phép vùng heap của tôi tăng lên 4GB?

+0

Bạn đang sử dụng hệ điều hành nào? Một số hệ điều hành cũ hơn không cho phép các quá trình có hơn 2 Gig. – John

+0

Solaris (Tôi vừa cập nhật câu hỏi ở trên) – Pomario

+1

bạn có đang chạy jvm 64 bit không? –

Trả lời

7

Cảm ơn tất cả các bạn đã nhập! Mặc dù, đầu ra của số java -version của tôi đề cập đến mixed mode có nghĩa là nó là 64 bit. Giải pháp thực sự là thêm -d64 để buộc nó chạy trong 64 bit và do đó phân bổ 4GB.

+7

Thực tế nó chỉ ra Chế độ "hỗn hợp" không liên quan đến thực tế bạn có một JVM 32 bit hoặc 64 bit. Nó chỉ có nghĩa là JVM của bạn trộn hai chế độ thực thi "được biên dịch" và "diễn giải". –

4

Giải pháp của tôi dựa trên những ý kiến ​​cho câu hỏi: bạn đang sử dụng 32bit JVM do đó nó không thể giải quyết nhiều hơn 4GB (không bao gồm). Hãy thử cài đặt phiên bản 64 bit

4

Theo kết quả của java -version, một 32 bit JVM được cài đặt. Nếu nó là một 64bit, bạn sẽ nhận được một cái gì đó như Java HotSpot(TM) 64-Bit Server VM.

Thử cài đặt JVM 64 bit và nó sẽ giải quyết vấn đề của bạn.

0

Sử dụng -Xmx1024M -XX: MaxPermSize = 256M

+0

Sử dụng định dạng mã và dòng lệnh mẫu đầy đủ, sẽ làm cho câu trả lời này tốt hơn nhiều. – jpaugh

Các vấn đề liên quan