Tôi muốn giới hạn bộ nhớ tối đa được JVM sử dụng. Lưu ý, đây không chỉ là đống, tôi muốn giới hạn tổng bộ nhớ được sử dụng bởi quá trình này.Làm cách nào để đặt mức sử dụng bộ nhớ tối đa cho JVM?
Trả lời
sử dụng đối số -Xms<memory>
-Xmx<memory>
. Sử dụng M
hoặc G
sau các số cho biết Megs và Gigs của byte tương ứng. -Xms
cho biết mức tối thiểu và -Xmx
mức tối đa.
Bạn không cần phải lo lắng về bộ nhớ rò rỉ ngăn xếp (điều này rất không phổ biến). Thời gian duy nhất bạn có thể có ngăn xếp có được ra khỏi tầm kiểm soát là với vô hạn (hoặc thực sự sâu) đệ quy.
Đây chỉ là đống. Xin lỗi, ban đầu không đọc câu hỏi của bạn.
Bạn cần chạy JVM với đối số dòng lệnh sau.
-Xmx<ammount of memory>
Ví dụ:
-Xmx1024m
Điều đó sẽ cho phép tối đa là 1GB bộ nhớ cho JVM.
Điều đó không đúng, theo chủ đề này, có nhiều cách bạn có thể bị rò rỉ bên ngoài đống http://stackoverflow.com/questions/1475290/java-memory-mystery-do-i-have-a-leak – erotsppa
Bạn là chính xác, có rất nhiều cách để có vấn đề bộ nhớ không liên quan đến ngăn xếp. Tuy nhiên, chúng không phải là rất phổ biến. – jjnguy
Chắc chắn bạn không thể kiểm soát kích thước bộ nhớ không phải heap, có thể không? –
Câu trả lời ở trên là loại chính xác, bạn không thể kiểm soát một cách duyên dáng bao nhiêu bộ nhớ riêng mà một quá trình java phân bổ. Nó phụ thuộc vào những gì ứng dụng của bạn đang làm.
Điều đó nói rằng, tùy thuộc vào nền tảng, bạn có thể sử dụng một số cơ chế, ví dụ: để hạn chế kích thước của java hoặc bất kỳ quy trình nào khác.
Chỉ cần không mong đợi nó không thành công nếu nó đạt đến giới hạn đó. Lỗi phân bổ bộ nhớ riêng khó xử lý hơn so với lỗi phân bổ trên vùng heap java. Có một cơ hội khá tốt, ứng dụng sẽ gặp sự cố nhưng tùy thuộc vào mức độ nghiêm trọng của hệ thống để giữ cho quy trình xử lý có thể vẫn phù hợp với bạn.
Các NativeHeap có thể được increasded bởi -XX: MaxDirectMemorySize = 256M (mặc định là 128)
Tôi chưa bao giờ sử dụng nó. Có thể bạn sẽ thấy nó hữu ích.
Tôi nghi ngờ rằng op muốn điều này: bộ nhớ riêng được sử dụng khi bạn thực hiện cuộc gọi đến mã C/C++ từ java. –
bộ nhớ riêng cũng được sử dụng khi thực hiện cuộc gọi nio nếu bạn cấp phát bộ đệm với bộ nhớ trực tiếp. (... và trình nạp lớp và thông tin về chuỗi ....) – stu
Nếu bạn muốn giới hạn bộ nhớ cho JVM (không phải là kích thước heap) ulimit -v
Để có được một ý tưởng về sự khác biệt giữa JVM và bộ nhớ heap, hãy xem bài viết tuyệt vời này http://blogs.vmware.com/apps/2011/06/taking-a-closer-look-at-sizing-the-java-process.html
- 1. Làm cách nào để đặt bộ nhớ jvm tối đa (XMX) cho tệp jar
- 2. Giảm mức sử dụng bộ nhớ tối đa với @autoreleasepool
- 3. Tăng kích thước heap tối đa JVM cho các ứng dụng chuyên sâu bộ nhớ
- 4. Hạn chế thực tế của bộ nhớ JVM và mức sử dụng CPU?
- 5. Sử dụng TPL làm cách nào để đặt kích thước tối đa cho threadpool
- 6. Bộ nhớ tối đa cho 64bit Java
- 7. openssl: giảm mức sử dụng bộ nhớ
- 8. Đặt mức sử dụng CPU tối đa cho mỗi quá trình trong Windows
- 9. Làm cách nào để giảm mức sử dụng bộ nhớ của ảnh nền?
- 10. Giảm mức sử dụng bộ nhớ RabbitMQ
- 11. Cài đặt bộ nhớ JVM cho thông số kỹ thuật2
- 12. Làm cách nào để tối ưu hóa quá trình sử dụng bộ nhớ php?
- 13. Làm cách nào để đo mức sử dụng băng thông bộ nhớ trên Windows?
- 14. Kích thước bộ nhớ cache tối đa
- 15. Cách đo mức sử dụng bộ nhớ add-on firefox
- 16. Sử dụng bộ nhớ tối đa không vượt quá giới hạn
- 17. Làm cách nào để giảm mức sử dụng bộ nhớ của Eclipse?
- 18. Cách biết mức sử dụng bộ nhớ trong C++
- 19. Làm cách nào để đặt mức nhật ký Bộ nhớ cache Rails riêng biệt?
- 20. Tomcat - Cách giới hạn bộ nhớ tối đa Tomcat sẽ sử dụng
- 21. Sử dụng bộ nhớ của Playframework
- 22. Làm cách nào để theo dõi CPU, bộ nhớ và mức sử dụng đĩa của máy tính trong Java?
- 23. Giới hạn bộ nhớ ứng dụng tối đa trong iPad?
- 24. Đặt chiều cao tối đa bằng cách sử dụng javascript
- 25. Cửa sổ tối đa ở mức tối đa
- 26. Thuật toán để làm phẳng mức sử dụng tối đa theo thời gian?
- 27. Có cách nào để xem bộ nhớ sử dụng bao nhiêu bộ nhớ?
- 28. Java 6 Sử dụng bộ nhớ quá mức
- 29. TV AIR - có thể giới hạn bộ nhớ tối đa cho thời gian chạy không?
- 30. Làm thế nào để hướng dẫn JVM để giữ chân bộ nhớ càng thấp càng tốt?
bạn có thể muốn xem xét MaxPermSize là tốt. – pmu
anh ta hỏi về bộ nhớ JVM. Những gì bạn đã nói là kích thước heap. Cả hai đều khác nhau – vsingh
Để lặp lại những gì các nhận xét khác đề cập, Xms và Xmx chỉ định cấu hình vùng lưu trữ.Mặc dù cấu hình các biến này có ảnh hưởng gián tiếp đến không gian heap, người hỏi câu hỏi đang cố thiết lập nếu có cách cấu hình tổng dung lượng bộ nhớ (heap + non-heap) – murungu