Một Apache Tomcat (Atlassian Confluence) dụ được bắt đầu sử dụng các tùy chọn Java sau:Java sử dụng nhiều bộ nhớ hơn so với bộ nhớ phân bổ
JAVA_OPTS="-Xms256m -Xmx512m -XX:MaxPermSize=256m -Djava.awt.headless=true "
Tuy nhiên tôi thấy rằng sau khi khởi động nó một cách nhanh chóng ăn qua hầu hết các 1GB bộ nhớ có sẵn trên máy chủ ảo của tôi.
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
6082 root 19 0 1105m 760m 16m S 0.7 74.2 5:20.51 java
Không phải bộ nhớ tiêu thụ tổng thể (heap + PermGen) vẫn ở dưới mức được chỉ định bằng -Xmx? Một trong những vấn đề này gây ra là tôi không thể tắt máy chủ bằng cách sử dụng kịch bản tắt vì nó cố gắng sinh ra một JVM với 256MB bộ nhớ không thành công vì nó không có sẵn.
Có thể có một số phân bổ bộ nhớ riêng đang diễn ra thông qua JNI hoặc 'ByteBuffer' với phân bổ trực tiếp. –
@Steve Tayor Có lẽ ... Tôi không biết Confluence là tốt để biết nếu nó đang làm điều đó. Tôi đã đăng câu hỏi trên diễn đàn Confluence nhưng chưa có câu trả lời nào. – vahidg