Как я могу предотвратить ошибки пространства PermGen в Netbeans?

По моему опыту, то, что вы хотите сделать, на самом деле не нужно, так как a) fish запоминает только самый последний экземпляр команды и b) в целом действительно хорошо использует доступный контекст, чтобы обеспечить наиболее подходящую запись из история команд, и c) уже обрезает старые записи, когда количество сохраненных команд достигает предела.

Но, предполагая, что вы сохранили предпочитаемое подмножество истории в ~/.local/share/fish/fish_history.save:

builtin history clear
cp ~/.local/share/fish/fish_history.save ~/.local/share/fish/fish_history
history merge

builtin в первую очередь состоит в том, чтобы избежать запроса, если вы действительно хотите очистить свою историю , Обратите внимание, что ваша сохраненная история должна быть действительной YAML. Это текстовый файл, но он немного сложнее, чем просто каждая команда в отдельной строке.

27
задан Hardik Mishra 21 May 2013 в 10:30
поделиться

4 ответа

Это из-за постоянной загрузки класса.

Java хранит код байта класса и все константы (например, строковые константы) в постоянной "куче", которая не собрана "мусор" по умолчанию (которые имеют смысл в большинстве ситуаций, потому что классы загружаются только однажды в течение времени жизни приложения).

В приложениях, которые часто загружают классы в течение всего времени жизни, которые являются:

  • веб-серверы и серверы приложений во время горячего повторного развертывания;
  • IDE, когда запуск разработал приложения (каждый раз Вы поражаете Кнопку запуска в Netbeans или затмеваете его, загружает классы Вашего приложения новое);
  • и т.д. это поведение является неподходящим, потому что "куча" заполняется полный в конечном счете.

Необходимо включить постоянную сборку "мусора" "кучи" для предотвращения этой ошибки.

Я использую опции

-XX:MaxPermSize=256M
-XX:+CMSClassUnloadingEnabled
-XX:+CMSPermGenSweepingEnabled

(остановленный мое затмение 3.4 от броска"java.lang.OutOfMemoryError: PermGen space"таким образом, это должно также работать с netbeans).

Править: Просто обратите внимание для Netbeans установку тех опций в: [Netbeans installation]\etc\netbeans.conf Вы должны prefixe те опции с -J и включите их netbeans_default_options (см. комментарии в netbeans.conf для большей информации).

32
ответ дан Nux 28 November 2019 в 05:24
поделиться

Вы можете изменить параметры запуска JBM netbeans, отредактировав файл /etc/netbeans.conf. У меня часто возникают ошибки такого рода, когда я разрабатываю веб-приложение и часто его внедряю. В этом случае я перезагружаю tomcat время от времени.

1
ответ дан Maurice Perry 28 November 2019 в 05:24
поделиться

Попытайтесь добавить следующий аргумент netbeans netconf:-J-XX:MaxPermSize=256m

4
ответ дан jassuncao 28 November 2019 в 05:24
поделиться

См. эту ссылку на то, как установить размер PermSize. По всей вероятности это не проблема Вашего кода, таким образом, единственное решение состояло бы в том, чтобы увеличить PermSize. Я нашел, что это довольно часто, когда Вы работаете с JAXB. В целом, если Вы пользуетесь многими библиотеками, которые самими также зависят от многих других файлов банки, размер по умолчанию пространства PermGen не может быть достаточно большим.

Дополнительную информацию см. в этих сообщениях в блоге: Classloader протекает и Как зафиксировать страшное "java.lang. OutOfMemoryError: пространство PermGen"

2
ответ дан Freiheit 28 November 2019 в 05:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: