2016-09-26 4 views
0

Я запускаю Java IDE разработчика и в процессе устранения проблем с модулем. Для этого я увеличил протоколирование память инструмента, теперь при входе его ошибка приходит на консоли, какУвеличение объема памяти через терминал в Linux через «-XX: PermSize = 192m -XX: MaxPermSize = 2g -Xms2g -Xmx2g»

Uncaught exception 
java.lang.OutOfMemoryError: Java heap space 

я использую ниже команд для увеличения памяти

"-XX:CompileThreshold=8000 -XX:PermSize=192m -XX:MaxPermSize=2g -Xms2g -Xmx2g" 

ранее это

"-XX:CompileThreshold=8000 -XX:PermSize=192m -XX:MaxPermSize=1024m -Xms1024m -Xmx1024m" 

моя системная память составляет 16 ГБ с помощью команды cat/proc/meminfo , но системная память меньше 1 ГБ при исключении

Uncaught exception 
    java.lang.OutOfMemoryError: Java heap space 

приходит, я выделил максимальный объем памяти для использования в качестве 2gb

-XX:MaxPermSize=2g 

но занимая приблизительно всю доступную память.

Не знаю, эта команда является ли поможет полностью или нет ли я мог назначить больше памяти, как показано ниже команды

"-XX:CompileThreshold=8000 -XX:PermSize=192m -XX:MaxPermSize=10g -Xms10g -Xmx10g" 

увеличив его до 10 г будет хорошо или нет, или есть какие-либо проблемы с моей командой.

+0

Почему вы так много выделяете для постоянного пространства? Вы понимаете, что это такое? – assylias

+0

моя IDE висит снова и снова, так что она может не повесить снова. Я хочу увеличить память до 10g. – SarthAk

+0

Сначала вы должны убедиться, что это действительно проблема памяти/GC. Вы пробовали работать с '-XX: + PrintGCDetails'? – Axel

ответ

0

Используйте -Xms1024m -Xmx1024m для управления размером кучи (1024 м - только для демонстрации, точное число зависит от вашей системной памяти). Установка минимального и максимального размера кучи на то же самое, как правило, является лучшей практикой, поскольку JVM не должен увеличивать размер кучи во время выполнения

Смежные вопросы