Шаг 1. Измените конфигурацию запуска вашего приложения и добавьте (или увеличьте, если он есть) параметр -XX: MaxPermSize. Это временный шаг, так как если это живая система, скорее всего, дополнительная память также будет заполнена в какой-то момент в будущем, но на данный момент это исправит ошибку.
Шаг второй: освободите ненужные ресурсы. Убедитесь, что все соединения с базой данных закрыты. Разумно загружайте и выгружайте классы. Реструктурируйте программу для работы с небольшими объемами данных за раз. Анализируйте и устраняйте утечки памяти
Raj 27 Апр 2015 в 07:28
Важно знать, возникает ли ошибка PermGen после каждого развертывания или после нескольких.
Если это первый случай, просто увеличьте объем памяти для PermGen.
Если второй, в вашем коде есть несколько мертвых коров. В этом случае увеличение объема памяти только отсрочит ошибку, так как ваша память все еще увеличивается в размере после каждого развертывания. Вы должны профилировать свое приложение, например, с помощью jvisualvm (вот хороший учебник ) и найди несколько мертвых коров. Важно понимать, что PermGenError не о самих классах, а о загрузчиках классов (Утечки из загрузчика классов: страшное исключение «java.lang.OutOfMemoryError: PermGen space»).
How to fix minecraft java crash (WORKING 100%)
В моем случае (сервер Glssfish) проблема заключалась в добавлении библиотек Log4j2 в веб-приложение. Мне пришлось добавить их также в серверные библиотеки ( domain-dir / lib ), чтобы согласно Иерархия загрузчиков классов Glassfish, где они были загружены общим загрузчиком классов.
Szarpul 27 Апр 2015 в 07:57
Либо оптимизируйте свою программу, либо увеличьте размер кучи java с параметрами времени выполнения. (- Xxx)
Shriram 27 Апр 2015 в 07:16
Вызывается, когда виртуальная машина Java не может выделить объект, потому что ему не хватает памяти, и сборщик мусора не может сделать больше памяти. Объекты OutOfMemoryError могут быть созданы виртуальной машиной, как если бы подавление было отключено и / или трассировка стека не была доступна для записи.
Увеличьте размер кучи вашей JVM
Можно увеличить размер кучи, выделенной JVM, с помощью параметров командной строки. Здесь у нас есть 3 варианта.
-Xms set initial Java heap size -Xmx set maximum Java heap size -Xss set java thread stack size
Распространенной причиной OutofMemory в PermGen является ClassLoader. Всякий раз, когда класс загружается в JVM, все его метаданные, вместе с Classloader, хранятся в области PermGen, и они будут собираться мусором, когда Classloader, который их загрузил, готов к сборке мусора. В случае, если Classloader имеет утечку памяти, все загруженные им классы останутся в памяти и вызовут нехватку памяти permGen, если вы повторите это несколько раз.
Теперь есть два способа решить эту проблему: 1. Определить причину утечки памяти или ее наличие. 2. Увеличьте размер PermGen Space с помощью параметров JVM -XX: MaxPermSize и -XX: PermSize.
Вылеты Майнкрафта. Исправление ошибок JAVA. Простые способы.
Источник: question-it.com
Часто крашится майн
Написал 05.09.2015 — 21:50
Крашится майн примерно каждые 10 мин. с ошибкой (прикрепил), до недавнего времени всё работало отлично, никаких манипуляций с компом и майном не проводил.
Скрытый текст
Java последней версии, постоянно обновляю (на данный момент Version 8 Update 60), обоих разрядов.
Майн 1.8 играю через TLauncher последней версии (1.59), установлены forge, liteloader, optifine, несколько модов.
Последнее из консоли TLauncher’а
Скрытый текст
[23:09:03] [Client thread/FATAL] [FML]: Exception caught executing FutureTask: java.util.concurrent.ExecutionException: java.lang.NullPointerException
java.util.concurrent.ExecutionException: java.lang.NullPointerException
at java.util.concurrent.FutureTask.report(Unknown Source) ~[?:1.8.0_60]
at java.util.concurrent.FutureTask.get(Unknown Source) ~[?:1.8.0_60]
at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:677) [FMLCommonHandler.class:?]
at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:1012) [bsu.class:?]
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:345) [bsu.class:?]
at net.minecraft.client.main.Main.main(SourceFile:120) [Main.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_60]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_60]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_60]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_60]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.11.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.11.jar:?]
Caused by: java.lang.NullPointerException
at net.minecraft.client.network.NetHandlerPlayClient.func_147242_a(NetHandlerPlayClient.java:1163) ~[cee.class:?]
at net.minecraft.network.play.server.S04PacketEntityEquipment.func_148833_a(SourceFile:39) ~[la.class:?]
at net.minecraft.network.play.server.S04PacketEntityEquipment.func_148833_a(SourceFile:9) ~[la.class:?]
at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13) ~[ih.class:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:1.8.0_60]
at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_60]
at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:676) ~[FMLCommonHandler.class:?]
. 9 more
[L] Launcher stopped.
[L] Minecraft closed with exit code: -805306369
[L] Signature «PermGen error» matches!
майну выделяю 1024Мб
Добавлено спустя 5 минут:
вспомнил, что я заменил накануне проблемы мод «Not-Enough-Items-1.8», скачанный с другого сайта, это могло вызвать ошибку?)
#2
rumickon
Написал 05.09.2015 — 22:23
А можете выделить побольше памяти, 2 ГБ, например, и протестировать?
#3
IIukYs
Написал 05.09.2015 — 23:39
в тлаунчере максисум 1500, выставлял и 700мб и 1500, разницы никакой
#4
rumickon
Написал 06.09.2015 — 03:56
Увеличьте хотя бы до 1500 и скиньте лог нового краша.
- Поблагодарил: IIukYs
#5
Cyxapuk
- Ник в Minecraft:
Meegoo
Написал 06.09.2015 — 11:22
в тлаунчере максисум 1500, выставлял и 700мб и 1500, разницы никакой
Джаву 64х битную поставь
- Поблагодарил: IIukYs
Источник: minecrafting.ru
Permgen error minecraft что это
При возникновении ошибки java.lang.OutOfMemoryError: PermGen space
Eclipse может простонеожиданно завершить работу и предложить просмотреть логи.
Хочу заметить, что я впервые встретился с этой ошибкой, когда начал использовать Eclipse для рисования UML диаграмм. То есть в тот момент, когда Eclipse начал использовать плагины org.eclipse.gef и org.eclipse.emf ,
а эти плагины есть также в Eclipse IDE for Java EE Developers. В этом можно убедиться тут .
Также эта ошибка может появляться при использовании HQL запросов , когда активно используется Hibernate .
Почему возникает эта ошибка сейчас я описывать не буду. Об этом можно почитать, например, в этой статье (на английском)
И так, если кратко, то решить быстро это проблему можно так:
в директории, где находится eclipse или eclipse.exe (для Windows) нужно найти файл eclipse.ini и открыть в текстовом редакторе, в котором нужно добавить/отредактировать следующие строки:
-Xms512m
-Xmx512m
-XX:PermSize=512m
-XX:MaxPermSize=512m
Это пример моих настроек. Настраивайте параметры в зависимости от объема памяти на вашем компьютере. Кратко об этих параметрах:
Xms – это минимальный объем выделяемой памяти (кучи – heap)
Xmx – это максимальный объем выделяемой памяти (кучи – heap)
XX:PermSize – это начальный размер permanent generation . Он создается в дополнение к объему Xms .
XX:MaxPermSize – максимальный размер permanent generation .
Теперь осталось запустить eclipse c ключем -clean
eclipse -clean
( Примечание : начиная с версии 3.4 ( GANYMEDE) запускать -clean не нужно)
НО! Все-таки нужно убедиться что эти параметры задействованы. Дело в том, что на некоторых Unix * ОС настройки файла eclipse.ini не срабатывают, даже если описаны правильно.
Для того, чтобы убедиться изменения в настройках можно просмотреть:
Help -> About Eclipse Platform -> Configuration details
и смотрим строку eclipse.vmargs=
Чтобы окончательно победить проблему есть 2 способа:
1-й способ. Window -> Preferences -> Java -> Installed JREs -> выбор нашего JRE -> Edit и в строке Default VM Arguments пишем
-vmargs -Xms512m -Xmx512m -XX:PermSize=512m -XX:MaxPermSize=512m
2-й способ. Написать скрипт запуска eclipse . Например, в создать файл eclipse.sh , дать права на запуск ( +х ) и прописать в файле:
#!/bin/bash
eclipse -vmargs -Xms512m -Xmx512m -XX:PermSize=512m -XX:MaxPermSize=512m
Надеюсь, этот баг больше возникать не будет
О дополнительных способах борьбы с этой проблемой можно почитать в этой статье
Источник: realitman.wordpress.com