Запросы из дампа основного файла JVM - PullRequest
4 голосов
/ 04 января 2012

JVM аварийно завершил работу и создал основной pid-файл JVM.У меня нет опыта работы с файлами ядра JMV, поэтому я могу воспользоваться помощью:*

1) При ~ 18 ГБ свободного свопа, есть идеи, почему ошибка «Недостаточно свободного места?»?Это не должно быть верно.Только физическая память очень мала, что составляет всего ~ 115 МБ свободного места.

2) Из 16 ГБ физической памяти JVM выделяется только 2 ГБ.Но согласно статистике, почти 16 ГБ полностью используется и только 115 МБ бесплатно.Итак, другой процесс также занял бы память.Должен ли я проверить в этом направлении?

3) В идеале JVM будет создавать и обрабатывать объекты Java, а также создавать собственные объекты библиотеки.Какая память будет использоваться для собственных объектов JVM.будет ли он выделен в пределах указанного предела кучи или будет полностью выделен за пределы кучи?

Будет действительно полезно, если вы сможете ответить на поставленный выше вопрос для моего понимания и анализа.

Ответы [ 3 ]

2 голосов
/ 04 января 2012

у вас есть только 2 ГБ, выделенных для вашего приложения, поэтому, если объем памяти превышает его, вы получите исключение OOM

jvm_args: -Xms1024M -Xmx2048M -> Это важно

0 голосов
/ 04 января 2012

Я видел эту ошибку, когда у вас закончилась виртуальная память. Так как у вас есть 32-битная JVM, и вы близки к пределу с кучей 2 ГБ. Вы можете использовать оставшееся доступное адресное пространство с общей библиотекой, стеками потоков и прямой памятью и получить ошибку Out of swap space.

Самое простое решение - использовать 64-битную JVM, которая полностью устраняет эту проблему. Я бы также использовал Java 6 update 30, поскольку в нем есть ряд исправлений и улучшений производительности.

Кстати, вы можете просто написать следующее, что совпадает с -Xms1024M -Xmx2048M

-ms1g -mx2g

64-битная JVM будет по-прежнему использовать 32-битные ссылки в последних JVM, поэтому вы не увидите значительного увеличения потребления памяти.

0 голосов
/ 04 января 2012

Я не смог найти подходящих ссылок, чтобы получить больше информации, но в вашем случае физическая память исчерпана, используется 99% (пространство объектов), что вызывает ошибку. Возможно, вам потребуется увеличить выделение памяти в куче параметром max heap memory -Xmx.

...