Tôi cần chạy một ứng dụng chuyên sâu bộ nhớ Java sử dụng nhiều hơn 2GB, nhưng tôi đang gặp sự cố để tăng kích thước tối đa heap. Cho đến nay, tôi đã thử các cách tiếp cận sau:Tăng kích thước heap tối đa JVM cho các ứng dụng chuyên sâu bộ nhớ
Đặt tham số -Xmx, ví dụ: -Xmx3000m. Cách tiếp cận này không thành công khi tạo ra JVM. Từ những gì tôi đã googled, có vẻ như -Xmx phải nhỏ hơn 2GB.
Sử dụng -XX:+AggressiveHeap option. Khi tôi thử phương pháp này tôi nhận được một lỗi "Không đủ bộ nhớ" cho biết kích thước heap là 1273,4 MB, mặc dù máy tính của tôi có 8GB bộ nhớ.
Có cách tiếp cận nào khác mà tôi có thể thử tăng kích thước heap tối đa của JVM không? Dưới đây là một bản tóm tắt các thông số kỹ thuật máy tính:
- Hệ điều hành: Windows 7 (64 bit)
- Processor: Core i7 của Intel (2.66 GHz)
- Bộ nhớ: 8 GB
- java -version:
java version "1.6.0_18" Java(TM) SE Runtime Environment (build 1.6.0_18-b07) Java HotSpot(TM) Client VM (build 16.0-b13, mixed mode, sharing)
BTW: Tối thiểu và kích thước bộ nhớ tối đa hiện nay là lựa chọn tiêu chuẩn. Bạn có thể sử dụng -ms và -mx thay vì -Xms và -Xmx. -X ?? được dành riêng cho các tùy chọn không chuẩn. –
Tiêu chuẩn cho JVM nào? Chúng vẫn không chuẩn cho JVM HotSpot (1.8). Xem http://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html#BABDJJFI – Huckle