Какие бывают типы OutOfMemoryError или из каких частей состоит память java процесса
Если вы словили OutOfMemoryError, то это вовсе не значит, что ваше приложение создает много объектов, которые не могут почиститься сборщиком мусора и заполняют всю память, выделенную вами с помощью параметра -Xmx. Я, как минимум, могу придумать два других случая, когда вы можете увидеть эту ошибку. Дело в том, что память java процесса не ограничивается областью -Xmx, где ваше приложение программно создает объекты.
Область памяти, занимаемая java процессом, состоит из нескольких частей. Тип OutOfMemoryError зависит от того, в какой из них не хватило места.
1. java.lang.OutOfMemoryError: Java heap space
Не хватает место в куче, а именно, в области памяти в которую помещаются объекты, создаваемые программно в вашем приложении. Размер задается параметрами -Xms и -Xmx. Если вы пытаетесь создать объект, а места в куче не осталось, то получаете эту ошибку. Обычно проблема кроется в утечке памяти, коих бывает великое множество, и интернет просто пестрит статьями на эту тему.
2. java.lang.OutOfMemoryError: PermGen space
Данная ошибка возникает при нехватке места в Permanent области, размер которой задается параметрами -XX:PermSize и -XX:MaxPermSize. Что там лежит и как бороться с OutOfMemoryError возникающей там, я уже описал подробнейшим образом тут.
3. java.lang.OutOfMemoryError: GC overhead limit exceeded
Данная ошибка может возникнуть как при переполнении первой, так и второй областей. Связана она с тем, что памяти осталось мало и GC постоянно работает, пытаясь высвободить немного места. Данную ошибку можно отключить с помощью параметра -XX:-UseGCOverheadLimit, но, конечно же, её надо не отключать, а либо решать проблему утечки памяти, либо выделять больше объема, либо менять настройки GC.
4. java.lang.OutOfMemoryError: unable to create new native thread
Впервые я столкнулся с данной ошибкой несколько лет назад, когда занимался нагрузочным тестированием и пытался выяснить максимальное количество пользователей, которые могут работать с нашим веб-приложением. Я использовал специальную тулзу, которая позволяла логинить пользователей и эмулировать их стандартные действия. На определенном количестве клиентов, я начал получать OutOfMemoryError. Не особо вчитываясь в текст сообщения и думая, что мне не хватает памяти на создание сессии пользователя и других необходимых объектов, я увеличил размер кучи приложения (-Xmx). Каково же было мое удивление, когда после этого количество пользователей одновременно работающих с системой только уменьшилось. Давайте подробно разберемся как же такое получилось.
На самом деле это очень просто воспроизвести на windows на 32-битной машине, так как там процессу выделяется не больше 2Гб.
Допустим у вас есть приложение с большим количеством одновременно работающих пользователей, которое запускается с параметрами -Xmx1024M -XX:MaxPermSize=256M -Xss512K. Если всего процессу доступно 2G, то остается свободным еще коло 768M. Именно в данном остатке памяти и создаются стеки потоков. Таким образом, примерно вы можете создать не больше 768*(1024/512)=1536 (у меня при таких параметрах получилось создать 1316) нитей (см. рисунок в начале статьи), после чего вы получите OutOfMemoryError. Если вы увеличиваете -Xmx, то количество потоков, которые вы можете создать соответственно уменьшается. Вариант с уменьшением -Xss, для возможности создания большего количества потоков, не всегда выход, так как, возможно, у вас существуют в системе потоки требующие довольно больших стеков. Например, поток инициализации или какие-нибудь фоновые задачи. Но все же выход есть. Оказывается при программном создании потока, можно указать размер стека: Thread(ThreadGroup group, Runnable target, String name,long stackSize). Таким образом вы можете выставить -Xss довольно маленьким, а действия требующие больших стеков, выполнять в отдельных потоках, созданных с помощью упомянутого выше конструктора.
Более подробно, что же лежит в стеке потока, и куда уходит эта память, можно прочитать тут.
Конечно, вам может показаться данная проблема слегка надуманной, так как большинство серверов нынче крутиться на 64-битной архитектуре, но все же считаю данный пример весьма полезным, так как он помогает разобраться из каких частей состоит память java-процесса.
3.2 Understand the OutOfMemoryError Exception
One common indication of a memory leak is the java.lang.OutOfMemoryError exception. Usually, this error is thrown when there is insufficient space to allocate an object in the Java heap. In this case, The garbage collector cannot make space available to accommodate a new object, and the heap cannot be expanded further. Also, this error may be thrown when there is insufficient native memory to support the loading of a Java class. In a rare instance, a java.lang.OutOfMemoryError may be thrown when an excessive amount of time is being spent doing garbage collection and little memory is being freed.
When a java.lang.OutOfMemoryError exception is thrown, a stack trace is also printed.
The java.lang.OutOfMemoryError exception can also be thrown by native library code when a native allocation cannot be satisfied (for example, if swap space is low).
An early step to diagnose an OutOfMemoryError exception is to determine the cause of the exception. Was it thrown because the Java heap is full, or because the native heap is full? To help you find the cause, the text of the exception includes a detail message at the end, as shown in the following exceptions.
In other cases, and in particular for a long-lived application, the message might be an indication that the application is unintentionally holding references to objects, and this prevents the objects from being garbage collected. This is the Java language equivalent of a memory leak. Note: The APIs that are called by an application could also be unintentionally holding object references.
One other potential source of this error arises with applications that make excessive use of finalizers. If a class has a finalize method, then objects of that type do not have their space reclaimed at garbage collection time. Instead, after garbage collection, the objects are queued for finalization, which occurs at a later time. In the Oracle Sun implementation, finalizers are executed by a daemon thread that services the finalization queue. If the finalizer thread cannot keep up, with the finalization queue, then the Java heap could fill up and this type of OutOfMemoryError exception would be thrown. One scenario that can cause this situation is when an application creates high-priority threads that cause the finalization queue to increase at a rate that is faster than the rate at which the finalizer thread is servicing that queue.
If this type of the OutOfMemoryError exception is thrown, you might need to use troubleshooting utilities on the operating system to diagnose the issue further. For more information about tools available for various operating systems, see Native Operating System Tools.
CompressedClassSpaceSize of 4294967296 is invalid; must be between 1048576 and 3221225472.
Note: There is more than one kind of class metadata — klass metadata and other metadata. Only klass metadata is stored in the space bounded by CompressedClassSpaceSize . The other metadata is stored in Metaspace .
Русские Блоги
Итак, обычно есть две причины этой аномалии:
1. В программе есть бесконечный цикл.
2. Программа занимает слишком много памяти, что превышает максимальное значение, установленное кучей JVM.
В первом случае вам необходимо самостоятельно проверить программный код, поэтому я не буду здесь говорить больше.
Во втором случае мы вручную расширяем настройки параметров кучи JVM. Настройка кучи JVM относится к настройке пространства памяти, которое JVM может выделить и использовать во время выполнения программы java. Когда JVM запускается, куча JVM автоматически устанавливает значение размера кучи. Обычно значение по умолчанию для начального пространства (например, -Xms) составляет 1/64 физической памяти, а максимальное пространство составляет 1/4 физической памяти. Его можно установить с помощью таких параметров, как -Xmn -Xms -Xmx, предоставляемых JVM. Вот объяснение значения каждого параметра:
-Xms: начальное значение
-Xmx: максимум
-Xmn: минимальное значение
Размер кучи не должен быть слишком маленьким или слишком большим. Если параметр слишком мал, скорость отклика программы будет ниже, потому что сборщик мусора занимает больше времени, а приложение выделяет меньше времени на выполнение. Слишком большой размер также приведет к потере места и повлияет на нормальную работу других программ. Размер кучи не должен превышать 80% доступной физической памяти. Рекомендуется установить одинаковые параметры -Xms и -Xmx, а -Xmn составляет 1/4 значения -Xmx.
Основные методы настройки следующие:
1. Этот параметр добавляется при выполнении файла класса JAVA, где className — это имя класса, который необходимо выполнить. (Включая имя пакета) Например: java -Xms32m -Xmx800m className Это не только решает проблему, но и скорость выполнения намного выше, чем когда она не установлена. Если это тест разработки, вы также можете установить его прямо в eclipse. Введите -Xms32m -Xmx800m в аргументы виртуальной машины в Eclipse -> run -arguments.
2. Вы можете изменить системные переменные среды в Windows и добавить JAVA_OPTS = -Xms64m -Xmx512m.
3. Если вы используете tomcat под окнами, вы можете добавить в C: tomcat5.5.9 bin catalina.bat (конкретный путь зависит от местоположения вашего tomcat): установить JAVA_OPTS = -Xms64m -Xmx256m (размер зависит от вашей собственной памяти) Местоположение: rem Угадайте CATALINA_HOME, если не определено Добавьте соответствующее в этой строке.
4. Если это система Linux, добавьте набор JAVA_OPTS = ’- Xms64 -Xmx512’ перед /bin/catalina.sh
Поскольку программе необходимо прочитать около 10 Вт строк записей из данных для обработки, возникает ошибка типа java.lang.OutOfMemoryError: пространство кучи Java появляется при чтении 9 Вт.
Проверка в Интернете может быть причиной того, что параметр стека JAVA слишком мал.
Согласно ответам в Интернете, существует примерно два решения:
1. Задайте переменные среды.
set JAVA_OPTS= -Xms32m -Xmx512m
можно изменить в соответствии с объемом памяти вашего компьютера, но моя проверка этого метода не решила проблему. Это может быть где еще нужно установить.
2、java -Xms32m -Xmx800m className
— добавить этот параметр при выполнении файла класса JAVA, где className — это фактическое имя класса, который должен быть выполнен. (Включая название пакета)
Это решает проблему. И скорость выполнения намного выше, чем без настройки.
Если вы можете использовать Eclispe при тестировании, вам необходимо ввести параметр -Xms32m -Xmx800m в аргументы виртуальной машины в Eclipse -> run -arguments.
java.lang.OutOfMemoryError: Java heap space
Исключение возникает при использовании программы Java для запроса большого количества данных из базы данных:
java.lang.OutOfMemoryError: Java heap space
В JVM, если 98% времени используется для сборки мусора, а доступный размер кучи меньше 2%, будет выдано это сообщение об исключении.
Настройка кучи JVM относится к настройке пространства памяти, которое JVM может выделить и использовать во время выполнения программы java.
JVM автоматически установит значение размера кучи при запуске.Его начальное пространство (-Xms) составляет 1/64 физической памяти, а максимальное пространство (-Xmx) — 1/4 физической памяти. Его можно установить с помощью таких параметров, как -Xmn -Xms -Xmx, предоставляемых JVM.
Например: java -jar -Xmn16m -Xms64m -Xmx128m MyApp.jar
Если размер кучи установлен слишком маленьким, в дополнение к этим аномальным сообщениям вы обнаружите, что скорость отклика программы снижается. Сборщик мусора занимает больше времени, а приложение выделяет меньше времени на выполнение.
Размер кучи не должен превышать 80% доступной физической памяти.Обычно для параметров -Xms и -Xmx должны быть установлены одинаковые значения, а -Xmn составляет 1/4 значения -Xmx.
Параметры размера кучи -Xms -Xmn не должны превышать размер физической памяти. В противном случае появится сообщение «Ошибка при инициализации виртуальной машины. Не удалось зарезервировать достаточно места для кучи объектов».
==========================================================
После ночи напряженной работы я наконец завершил программу замены файлов для указанной строки, но поскольку я хочу заменить слишком много файлов html для общесайтовой программы, поэтому затмение всегда заканчивается в каталоге После сообщения об исключении java.lang.OutOfMemoryError: пространство кучи Java произошел сбой.
Я подумал, что слишком поздно перерабатывать из-за частых операций, поэтому я добавил Thread.sleep (1000) после каждого цикла и обнаружил, что он умрет в этом каталоге, поэтому я изменил 1000 на 5000 или умер там. Я думаю, что это может быть не так просто перерабатывать, возможно, JVM Sun просто не выпускает для этой ситуации.
Затем я добавил -Xmx256M к параметру запуска, на этот раз все было нормально.
Подумав об этом, я до сих пор мало что знаю о принципах сборки мусора, я проверил это в Интернете и нашел несколько хороших статей.
Также существуют: Управление кучей Java — сборка мусора. Следует отметить следующие моменты, которые могут использоваться в качестве рекомендаций при написании программ:
(1) Не пытайтесь предполагать время, когда происходит сборка мусора, причем все это неизвестно. Например, временный объект в методе становится бесполезным после вызова метода, и его память может быть освобождена в это время.
(2) Java предоставляет несколько классов, которые занимаются сборкой мусора, и предоставляет способ принудительного вызова функции сборки мусора System.gc (), но это также ненадежный метод. Java не гарантирует, что сборка мусора будет запускаться каждый раз при вызове этого метода. Она просто отправляет такой запрос в JVM. Неизвестно, выполняется ли сборка мусора на самом деле.
(3) Выберите подходящий вам сборщик мусора. Вообще говоря, если система не предъявляет особых требований к производительности, вы можете использовать параметры JVM по умолчанию. В противном случае вы можете рассмотреть возможность использования целевых сборщиков мусора.Например, инкрементные сборщики больше подходят для систем с высокими требованиями к работе в реальном времени. Система имеет более высокую конфигурацию и больше простаивающих ресурсов, вы можете рассмотреть возможность использования параллельного сборщика меток / разверток.
(4) Ключевая и сложная проблема — это утечки памяти. Хорошие навыки программирования и строгое отношение к программированию всегда являются самыми важными. Не позволяйте небольшой собственной ошибке вызвать большую дыру в памяти.
(5) Освободите ссылки на бесполезные объекты как можно скорее.
Когда большинство программистов используют временные переменные, они автоматически устанавливают для ссылочной переменной значение null после выхода из активной области (области), что означает, что сборщик мусора будет собирать объект. Вы должны обратить внимание на то, отслеживается ли объект, на который указывает ссылка, если да, удалите прослушиватель, а затем назначьте нулевое значение.
Другими словами, лучше контролировать операции частого обращения к памяти и освобождения памяти самостоятельно, но метод System.gc () может быть неприменим. Лучше использовать finalize для принудительного выполнения или написать свой собственный метод finalize.
Я обнаружил ошибку TOMCAT: java.lang.OutOfMemoryError: пространство кучи Java, поэтому я проверил информацию и нашел решение:
If Java runs out of memory, the following error occurs:
Exception in thread “main” java.lang.OutOfMemoryError: Java heap space
Java heap size can be increased as follows:
java -Xms -Xmx
Defaults are:
java -Xms32m -Xmx128m
Если вы используете выигрыш
/tomcat/bin/catalina.bat плюс следующая команда:
set JAVA_OPTS=-Xms32m -Xmx256m
Если вы используете unix / linux
/tomcat/bin/catalina.sh плюс следующая команда:
JAVA_OPTS=»-Xms32m -Xmx256m»
инструмент просмотра и анализа памяти jvm
В отрасли существует множество мощных инструментов для профилей Java, таких как Jporfiler и yourkit. Я не хочу говорить об этих платных вещах. Я хочу сказать, что сама java обеспечивает большой мониторинг памяти. Маленькие инструменты, перечисленные ниже инструменты — лишь небольшая часть. Все еще довольно интересно внимательно изучить инструменты jdk 🙂
1: вывод журнала gc
-verbose: gc и -XX: + PrintTenuringDistribution и т. д.
Код коллекции HTML-кода
Usage:
jmap -histo (to connect to running process and print histogram of java object heap
jmap -dump: (to connect to running process and dump java heap)
dump-options: format=b binary default file=
dump heap to
Example: jmap -dump:format=b,file=heap.bin
jmap -dump:file=c:dump.txt 340
Обратите внимание, что 340 — это pid java-процесса моей машины. Размер выгруженного файла превышает 10 мегабайт, и я только что открыл tomcat и запустил очень простое приложение без какого-либо доступа. Его можно представить на большом и загруженном сервере. , Насколько большим должен быть файл дампа? Что вам нужно знать, так это то, что информация о файле дампа очень примитивна и определенно не подходит для просмотра людьми напрямую, а содержимое, отображаемое jmap -histo, слишком простое, например, оно только показывает, сколько памяти занимают определенные типы объектов и количество этих объектов. , Но нет более подробной информации, например, кто создал эти объекты. Итак, какая польза от файла дампа? Конечно полезно, потому что есть инструмент для анализа файла дампа памяти jvm.
6: анализатор памяти eclipse
S0 S1 E O P YGC YGCT FGC FGCT GCT
54.62 0.00 42.87 43.52 86.24 1792 5.093 33 7.670 12.763
S0 S1 E O P YGC YGCT FGC FGCT GCT
54.62 0.00 42.87 43.52 86.24 1792 5.093 33 7.670 12.763
S0: Зона susvivor0 нового поколения, коэффициент использования площадей 54 . 62%
S1: область susvivor1 нового поколения, коэффициент использования пространства составляет 0,00% (поскольку второй второстепенный сбор не был выполнен)
Для нормальной работы Minecraft рекомендуется выделять как можно больше памяти, особенно при использовании модов и ресурс-паков высокого разрешения. Существует несколько проблем в этом направлении, решить их просто.
Можно выделить только 1 ГБ ОЗУ в лаунчере
В настройках лаунчера (Иконка Шестерёнки -> Дополнительно) видно, что выделить можно до 1 гигабайта памяти. Всё из-за разрядности, установленной Java x32, необходимо Java x64.
1) Перед переустановкой Java, обязательно необходимо узнать, что у вас система 64 разрядная. Выполните следующие действия для определения разрядности:
Для Windows
Заходим в «Мой компьютер» -> «Свойства системы» -> находим надпись: «Тип системы» и там будет 64-bit или 32-bit.
Для Linux
Открываем Терминал (Terminal) и вводим команду uname -m , если покажется x86_64 — то у вас 64 разрядная система, если i686 или i386 — то у вас 32 разрядная.
2) Как только узнали, что у вас 64 разрядная система, приступаем к установке Java 64x. (Если у вас всё-таки 32-битная система, необходимо переустановка системы на 64-битную, при условии, что процессор поддерживает 64-битную схему.)
Для Windows
Скачиваем установщик Java 64, запускаем его и следующем инструкции (просто нажать Install). Скачать Java 64x Windows
Для Linux
Скачиваем установщик Java 64, запускаем его и следующем инструкции (просто нажать Install).
Сачать Java 64x Linux
Скачать Java 64x Linux RPM
3) После этого, в настройках можно выделить максимальное количество памяти (при создании мод-паков тоже).
Старую версию Java 32x удалять необязательно, но если в настройках продолжает отображаться только 1 гб, то удалите старую версию и установите только Java 64x.
Читайте также:
— Как установить HD скин в TLauncher
— Как установить плащ в TLauncher
Если Ваша проблема остаётся актуальной, запросите поддержку у TLauncher:
Написать разработчикам с помощью VK.com
Пишите в комментариях какой способ помог:
В Java, начиная с 8 версии, появилась новая вариация OutOfMemory error : Metaspace.
Происходит это в связи с переполнением этой самой области памяти, которая является по сути эквивалентом Permanent Generation, однако может динамически расширяться.
Вопрос опытным товарищам:
Возникали ли у вас подобные ситуации в вашей практике, за исключением случаев, когда использовались сторонние библиотеки?
задан 3 дек 2018 в 0:32
DonatelloDonatello
3954 серебряных знака16 бронзовых знаков
Вот тут еще в 2013 году описывали работу Metaspace с примером переполнения без использования сторонних библиотек. Попробуйте, может взлетит.
ответ дан 3 дек 2018 в 7:55
zoltzolt
1,5178 серебряных знаков15 бронзовых знаков
This thread was marked as Locked by user-6840779.
-
Search
-
Search all Forums
-
Search this Forum
-
Search this Thread
-
-
Tools
-
Jump to Forum
-
-
#1
Sep 11, 2012
Minecraft occasionally still gives the «Minecraft has run out of memory» problem. I have tried playing on the lowest settings. I’ve tried allocating more memory. I’ve tried playing in a smaller window. I’ve tried just about everything.
The main problem is that when I try to Allocate more memory by either creating a .bat file or just allocating more memory to minecraft or java directly, it doesn’t work. For example, Say that I did one of those options. When I open up minecraft and press f3 it tells me that I’m still using 227mb of memory allocated to minecraft, despite me changing it to 1gig, 2gig, etc etc. I have 9 gigs of memory and minecraft is literally the only program I have trouble running.
I want to try to download some texture packs and I’m not a huge fan of mods in the least but I don’t even want to try it because I know minecraft will probably crash and blow up and die a horrible death.
I’ve tried to allocate memory several different ways on several different occasions, checking and rechecking to see if I spelled something wrong, forgot a symbol, or just messed up the commands in any way, shape, or form. Seems like I’m doing everything right but hey… I guess I could be wrong after doing it 2098390850935890 times.
Once again, the main problem is allocating more memory. It seems that no matter how much memory I allocate to minecraft, f3 tells me that its at 227mb and it stays that way NO MATTER WHAT! No change to lag and still getting the crash every once in a while. Am I doing something wrong? Can I just -never- do it because my minecraft is one in a million? I just don’t get it
Also, I’ve tried deleting and reinstalling Java on several occasions too. Both the 32-bit and 64-bit. I have them both, Its version 7. I had 6 when it started. 7 had helped a -tiny- bit but I still get the crash occasionally and lag spikes at the most inopportune times.
Please Help!
-
#3
Sep 11, 2012
Kankytwist-
View User Profile
-
View Posts
-
Send Message
- Redstone Miner
- Join Date:
1/30/2011
- Posts:
654
- Minecraft:
Kankytwist
- Member Details
The main problem is that when I try to Allocate more memory by either creating a .bat file or just allocating more memory to minecraft or java directly, it doesn’t work. For example, Say that I did one of those options. When I open up minecraft and press f3 it tells me that I’m still using 227mb of memory allocated to minecraft, despite me changing it to 1gig, 2gig, etc etc. I have 9 gigs of memory and minecraft is literally the only program I have trouble running.
That «allocated ram» you get with F3 will never reach the amount you want to allocate. (Never happened to me, anyway. Correct me if I’m wrong, somebody)
Edit: 9 GBs of RAM? Is it 4+4+1 or 8+1? That looked weird to me.Anyway, that’s really weird, with 8 gigs I don’t have any problems. You said that you tried everything, did you try to reinstall minecraft? Or play on the browser version?
-
-
#4
Sep 11, 2012
That «allocated ram» you get with F3 will never reach the amount you want to allocate. (Never happened to me, anyway. Correct me if I’m wrong, somebody)
Edit: 9 GBs of RAM? Is it 4+4+1 or 8+1? That looked weird to me.Anyway, that’s really weird, with 8 gigs I don’t have any problems. You said that you tried everything, did you try to reinstall minecraft? Or play on the browser version?
Thank you for replying. Kanky.
Yes. I know that the f3 allocated memory will never reach what I allocated but it stays 227mb no matter what, is the problem. I can allocated 1mb or 9999999999gb and it will stay 227mb. of course I’m overexaggerating but thats how it is. I wouldn’t mind if it doubled that… it would at least run smoother. It’s really weird.
I’ve tried reinstalling minecraft. I’ve tried playing the browser version. It’s all the same. I just can’t figure it out.
Also, gorguts. I will try to fiddle with java directly but I have tried before and it didn’t do jack. I was told by many people that directly working with java won’t always make minecraft better. But I’m willing to try anything at this point. Thanks for replying.
EDIT: Also, Yes Kanky. It is 4+4+1 I believe.
-
#5
Sep 11, 2012
Kankytwist-
View User Profile
-
View Posts
-
Send Message
- Redstone Miner
- Join Date:
1/30/2011
- Posts:
654
- Minecraft:
Kankytwist
- Member Details
Thank you for replying. Kanky.
Yes. I know that the f3 allocated memory will never reach what I allocated but it stays 227mb no matter what, is the problem. I can allocated 1mb or 9999999999gb and it will stay 227mb. of course I’m overexaggerating but thats how it is. I wouldn’t mind if it doubled that… it would at least run smoother. It’s really weird.
I’ve tried reinstalling minecraft. I’ve tried playing the browser version. It’s all the same. I just can’t figure it out.
Also, gorguts. I will try to fiddle with java directly but I have tried before and it didn’t do jack. I was told by many people that directly working with java won’t always make minecraft better. But I’m willing to try anything at this point. Thanks for replying.
EDIT: Also, Yes Kanky. It is 4+4+1 I believe.
Oh well, we need someone professional here, I can’t help you further on this subject. :l
-
-
#6
Sep 11, 2012
Sarutsuke-
View User Profile
-
View Posts
-
Send Message
- Iron Miner
- Location:
- Join Date:
12/18/2011
- Posts:
341
- Member Details
Have you tried the amazing Magic Launcher? Developed by the person who brought us Optifine. I mainly use it to allocate memory into the java process for when it’s necessary (I allocate 1.5Gbs). Try this, I’m really positive it’ll work out for you!
-
-
#7
Sep 11, 2012
Kankytwist-
View User Profile
-
View Posts
-
Send Message
- Redstone Miner
- Join Date:
1/30/2011
- Posts:
654
- Minecraft:
Kankytwist
- Member Details
Have you tried the amazing Magic Launcher? Developed by the person who brought us Optifine. I mainly use to allocate memory into the java process for when its necessary (I allocate 1.5Gbs). Try this, I’m really positive it’ll work out for you!
Well, that’s a good idea as well.
-
-
#8
Sep 11, 2012
Have you tried the amazing Magic Launcher? Developed by the person who brought us Optifine. I mainly use it to allocate memory into the java process for when it’s necessary (I allocate 1.5Gbs). Try this, I’m really positive it’ll work out for you!
Sarutsuke, Arigatou gozaimashita.
I just tried the Magic Launcher for the first time and it looks pretty neat. I allocated more memory using the settings and it still is only running at 227mb. Seems that stupid number is stuck there… Also, The lag spikes are there. Let me clarify. The lag isn’t there constantly. But every so often I will get a horrid lag spike, usually ending with the memory crash screen.
But yes, Thank you for the idea of using Magic Launcher. Unfortunately it did not work.
-
#9
Sep 11, 2012
Yeah I read somewhere once, if I recall correctly, that allocating more ram to minecraft is actually bad because the jar never uses more than 512mb of ram regardless of allocated amount. If you reserve the ram for minecraft and it isn’t using it, other processes can run out of useable memory and crash your computer.
Just something I feel like I read, may not even be true.
Sarutsuke, Arigatou gozaimashita.
I just tried the Magic Launcher for the first time and it looks pretty neat. I allocated more memory using the settings and it still is only running at 227mb. Seems that stupid number is stuck there… Also, The lag spikes are there. Let me clarify. The lag isn’t there constantly. But every so often I will get a horrid lag spike, usually ending with the memory crash screen.
But yes, Thank you for the idea of using Magic Launcher. Unfortunately it did not work.
Did this start with 1.3.2? Because same thing has been happening to me, except no running out of memory, just lag spikes I never had before. And I only have 2 gigs of ram in the beast machine…
-
#10
Sep 11, 2012
Sarutsuke-
View User Profile
-
View Posts
-
Send Message
- Iron Miner
- Location:
- Join Date:
12/18/2011
- Posts:
341
- Member Details
Sarutsuke, Arigatou gozaimashita.
I just tried the Magic Launcher for the first time and it looks pretty neat. I allocated more memory using the settings and it still is only running at 227mb. Seems that stupid number is stuck there… Also, The lag spikes are there. Let me clarify. The lag isn’t there constantly. But every so often I will get a horrid lag spike, usually ending with the memory crash screen.
But yes, Thank you for the idea of using Magic Launcher. Unfortunately it did not work.
You mentioned earlier installing both Java 6 & 7 and x32 & x64. If you still have Java 6 installed along with Java 7 update 7, uninstall Java 6. Using Magic Launcher, try allocating 1024Mb (1Gb) of memory. On the F3 screen, it’ll say «Allocated memory 100% (989MB)» At least, for me it does says that and Minecraft runs pretty fine.
-
-
#12
Sep 11, 2012
Sarutsuke-
View User Profile
-
View Posts
-
Send Message
- Iron Miner
- Location:
- Join Date:
12/18/2011
- Posts:
341
- Member Details
This same thing used to happen to me when I tryed to give all my ram to Minecraft (I play with 50/60 mods, and hd texture packs, so I need as much ram as possible), but it works fine now that I only allocate 1g.
God knows why.Hahaha yeah, same with me. I play with a ****-ton of mods and a 64x texture pack, but I only use 1Gb — 1.5Gb and it’s alright.
Any news OP? :
-
-
#13
Sep 11, 2012
I’m a bit curious about that ram arrangement, it seems a bit weird to me. Can you tell us more about what your computer specs are? DDR3 ram? double or triple channel? ram speed?
Also, is this a problem that has always happened with minecraft on this computer or is it something that started recently that didn’t happen before? More information would be very helpful for troubleshooting…
-
#14
Sep 11, 2012
Thank you all for the replies. They give me ideas to help out with the problem I’m having.
Allocated memory is stuck at 227mb… it will not go up. f3 always tells me the same number no matter how much I allocate to java, minecraft, using the .bat files or whatever.
This has happened ever since 1.2.5. I now have 1.3 and I -only- use vanilla minecraft. no mods.
I’m a bit curious about that ram arrangement, it seems a bit weird to me. Can you tell us more about what your computer specs are? DDR3 ram? double or triple channel? ram speed?
Also, is this a problem that has always happened with minecraft on this computer or is it something that started recently that didn’t happen before? More information would be very helpful for troubleshooting…
WhiteFireDaemon,
My computer runs DDR3 ram. I don’t know what double or triple channel means and ram speed? Yeah I’m a noob. my apologies.You mentioned earlier installing both Java 6 & 7 and x32 & x64. If you still have Java 6 installed along with Java 7 update 7, uninstall Java 6. Using Magic Launcher, try allocating 1024Mb (1Gb) of memory. On the F3 screen, it’ll say «Allocated memory 100% (989MB)» At least, for me it does says that and Minecraft runs pretty fine.
Sarutsuke,
I uninstalled Java 6 and reinstalled java 7 x32 and x64 specifically. Made sure thats what I had on my PC. I tried the Magic Launcher idea and same thing happened. I used the «setup» and allocated 1024 (then tried again with 2048) and the number -stayed- at 227mb on the f3 screen and I still have those random lag spikes.
Maybe this is a user issue? I am the admin of my computer. no one else uses it. Hmmm…
Like I said… it doesn’t happen all the time but it happens at the most inconvenient times. no lag whatsoever then BAM lag spike like crazy. Also I feel like minecraft can run faster and more smoothly. If I can get it to allocate more than 227mb of memory I’d be set… I just don’t get what I’m doing wrong.
-
#15
Sep 11, 2012
fm87-
View User Profile
-
View Posts
-
Send Message
- Location:
HACKED BY*~REVOLUTI~*
- Join Date:
2/22/2011
- Posts:
21,859
- Member Details
I think you are misunderstanding memory use and memory allocation.
Memory allocation only allocates memory to the garbage collector for java.
Memory use is what is shown ingame, hence, in your example, you are using ~200MB of your ~900MB allocated.
Allocated memory is not in use.
As for running out of memory, when does it happen specifically? Does it happen in new worlds?
Also, how exactly do you have 9GB of RAM? This probably isn’t causing the problems with minecraft, but is a problem in itself. You should never mix and match DIMM types, sizes, or speeds.
-
-
#16
Sep 11, 2012
Pannacouke-
View User Profile
-
View Posts
-
Send Message
- The Meaning of Life, the Universe, and Everything.
- Location:
Michigan
- Join Date:
11/27/2011
- Posts:
100
- Location:
United States
- Minecraft:
JimBridger
- Member Details
I am having this exact same issue but only when I try to play in single player, no clue why. Just as Oiram1988 has tried allocating ram via batch files and going directly into java via the control panel or using magic launcher I have done the same and nothing seems to work. It always stays at 227mb and it tells me I’m using right up round 80-90% of it. I’ve only got a texture pack on and thats it. I’ve tried allocating ram since before 1.2.5 but never could get it to work and only recently with 1.3.2 have I begun to experience these lag spikes and minecraft running out of memory errors. I would be grateful as well to anyone who can help.
-
-
#17
Sep 11, 2012
I think you are misunderstanding memory use and memory allocation.
Memory allocation only allocates memory to the garbage collector for java.
Memory use is what is shown ingame, hence, in your example, you are using ~200MB of your ~900MB allocated.
Allocated memory is not in use.
As for running out of memory, when does it happen specifically? Does it happen in new worlds?
Also, how exactly do you have 9GB of RAM? This probably isn’t causing the problems with minecraft, but is a problem in itself. You should never mix and match DIMM types, sizes, or speeds.
Thanks for the reply, fm87,
Although I understand what you are saying, all I know is that I used to get the «minecraft has run out of memory» crash constantly. Especially in the Nether. After 1.3 came out and when I uninstalled Java 6 and installed Java 7 (both x32 and x64) it got better. By «better» I mean the «minecraft has run out of memory» crash only happens every so often along with the horrible lag spikes that happen once every hour or so. It’s random. It could be 2 seconds after I log into a world or 5 hours. Either way, it -always- eventually happens. This happens in all worlds, on all settings, in any mode, period. I play a lot of minecraft. lol… New world, old world, server, creative mode, survival, etc… it does not matter.When I looked up the «minecraft has run out of memory» crash, several sites, people, forums, youtube videos, tutorials, etc. said to «allocate more memory.» I tried to do it several different ways and then -redo- it those same ways just in case I mispelled something or got a random command wrong or something. Everytime I followed the directions, I would then log onto minecraft and press f3 and get the screen with all the coordinates and numbers and it says Used Memory blah% (227mb). Allocated (227mb). or whatever. That number never gets over 227. Needless to say, nothing seems smoother, faster, and I still get the horrid but random lag spikes/crashes that I’ve been told «allocating more memory to java/minecraft» was supposed to fix.
Every tutorial, youtube video, etc. etc. showed -them- logging on twice. once before allocating more memory and once after. The «used memory blah%» was -then- increased A LOT. Also was allocated memory.
Hopefully I explained that alright. Thanks for helping out.
-
#18
Sep 18, 2012
I’m guessing that there still is no fix for my problem? Been waiting for a while. lol. Hmmm. Hopefully I can figure this out soon. It’s getting rather annoying. Maybe the new update will fix the problem all together… Here’s hopin’…
-
#19
Oct 15, 2012
walbird-
View User Profile
-
View Posts
-
Send Message
- Newly Spawned
- Join Date:
10/15/2012
- Posts:
1
- Member Details
Bumping a month old thread but I’m in a very similar boat.
Memory is stuck at 981MB. I’ve tried most everything: MC patcher, magic launcher, creating a batch file, editing java, etc.
And ironically, as I was typing this I managed to fix my issue. Perhaps if you’re still having the problem, Oiram, it might help you out, too.
Having tried every method, I had gone to system-> advanced system settings -> environment variables -> and added some JAVA_OPTIONS or somethign similar. It never did anything but I never removed it afterwords so I guess it was conflicting with whatever else I was trying to do after.
Removed the JAVA_OPTIONS entry, ran the batch file and the ram usage is up!Good luck
-
-
#20
Oct 31, 2012
Bumping a month old thread but I’m in a very similar boat.
Memory is stuck at 981MB. I’ve tried most everything: MC patcher, magic launcher, creating a batch file, editing java, etc.
And ironically, as I was typing this I managed to fix my issue. Perhaps if you’re still having the problem, Oiram, it might help you out, too.
Having tried every method, I had gone to system-> advanced system settings -> environment variables -> and added some JAVA_OPTIONS or somethign similar. It never did anything but I never removed it afterwords so I guess it was conflicting with whatever else I was trying to do after.
Removed the JAVA_OPTIONS entry, ran the batch file and the ram usage is up!Good luck
This worked! I never thought I would ever find anything that would fix my issue. I’ve posted on about 10 different forums and asked for help from everyone and their mother. I fiddled for hours and hours and hours on this problem, never getting anywhere. I wonder why no one else knows that you have to do this or… if they did know, this seems like an important step in taking and not mentioning it makes everything else useless.
Anyway, months of issues with minecraft fixed within seconds. Thank you very much, Walbird.
-
#21
Nov 16, 2012
CJDinoBoy94-
View User Profile
-
View Posts
-
Send Message
- Coal Miner
- Location:
United States
- Join Date:
2/27/2011
- Posts:
101
- Minecraft:
CJDinoBoy94
- Member Details
I have the same issue as Oiram did. I tried everything, allocating more memory, less memory, Magic Launcher, FTB Launcher, etc. There is a difference, however. I can load minecraft and go to the main menu, but once I try to open my world, it crashes with the Minecraft ran out of memory error. I am not sure what is wrong, so I tried what apparently worked for Oiram, posted by walbird, about going to system>advanced system settings>environment variables and there was nothing similar to JAVA_OPTIONS. I cannot press f3 to see what my ram usage is in-game, but I have 4gb of ram and I had no issues up until today with only 1gb allocated while using 61 mods. My minecraft was working perfectly this entire week, then it up and decides to not let me play at all. Any ideas?
EDIT: Also, every now and then, when I restart minecraft and try to enter a world, I get this error:
2012-11-16 17:58:26 [INFO] [STDOUT] [Mod Update Manager] Thread executed check. 2012-11-16 18:00:16 [INFO] [STDERR] java.lang.OutOfMemoryError: Java heap space 2012-11-16 18:00:16 [INFO] [STDERR] at java.util.Arrays.copyOf(Unknown Source) 2012-11-16 18:00:16 [INFO] [STDERR] at java.util.Arrays.copyOf(Unknown Source) 2012-11-16 18:00:16 [INFO] [STDERR] at java.util.ArrayList.grow(Unknown Source) 2012-11-16 18:00:16 [INFO] [STDERR] at java.util.ArrayList.ensureCapacityInternal(Unknown Source) 2012-11-16 18:00:16 [INFO] [STDERR] at java.util.ArrayList.add(Unknown Source) 2012-11-16 18:00:16 [INFO] [STDERR] at amt.a(SourceFile:24) 2012-11-16 18:00:16 [INFO] [STDERR] at alf.e(Block.java:557) 2012-11-16 18:00:16 [INFO] [STDERR] at alf.a(Block.java:533) 2012-11-16 18:00:16 [INFO] [STDERR] at xe.a(World.java:1554) 2012-11-16 18:00:16 [INFO] [STDERR] at ge.c(ServerConfigurationManager.java:176) 2012-11-16 18:00:16 [INFO] [STDERR] at ge.a(ServerConfigurationManager.java:94) 2012-11-16 18:00:16 [INFO] [STDERR] at bce.b(IntegratedServerListenThread.java:99) 2012-11-16 18:00:16 [INFO] [STDERR] at net.minecraft.server.MinecraftServer.r(MinecraftServer.java:669) 2012-11-16 18:00:16 [INFO] [STDERR] at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:590) 2012-11-16 18:00:16 [INFO] [STDERR] at bcb.q(IntegratedServer.java:110) 2012-11-16 18:00:16 [INFO] [STDERR] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:497) 2012-11-16 18:00:16 [INFO] [STDERR] at fp.run(SourceFile:818) 2012-11-16 18:00:16 [INFO] [STDOUT] Unloading Player: CJDinoBoy94 2012-11-16 18:02:38 [INFO] [STDERR] java.lang.OutOfMemoryError: GC overhead limit exceeded 2012-11-16 18:02:38 [INFO] [STDERR] at bh.a(SourceFile:60) 2012-11-16 18:02:38 [INFO] [STDERR] at zn.a(AnvilChunkLoader.java:317) 2012-11-16 18:02:38 [INFO] [STDERR] at zn.a(AnvilChunkLoader.java:117) 2012-11-16 18:02:38 [INFO] [STDERR] at id.b(ChunkProviderServer.java:204) 2012-11-16 18:02:38 [INFO] [STDERR] at id.a(ChunkProviderServer.java:257) 2012-11-16 18:02:38 [INFO] [STDERR] at ie.a(WorldServer.java:768) 2012-11-16 18:02:38 [INFO] [STDERR] at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:377) 2012-11-16 18:02:38 [INFO] [STDERR] at net.minecraft.server.MinecraftServer.k(MinecraftServer.java:410) 2012-11-16 18:02:38 [INFO] [STDERR] at bcb.k(IntegratedServer.java:218) 2012-11-16 18:02:38 [INFO] [STDERR] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:542) 2012-11-16 18:02:38 [INFO] [STDERR] at fp.run(SourceFile:818)
Not sure what it means, but I assume it ALSO has something to do with memory…PLEASE SOMEONE HELP ME! It has gone a week without issues on only 1gb of ram usage. I also narrowed down the number of mods I use to 54 instead of 61, by removing any mods I thought I would never use anymore. If a list of my mods will help, here they are:
MinecraftForge 6.0.1.355 Optifine_1.4.2 CodeChickenCore 0.6.6 NotEnoughItems 1.4.1.2 AdditionalPipes-2.1.3u17 AdvancedMachines 4.4 AdvancedSolarPanels_3_2_0 a_VazCore[1.0.6]mc1.4.2 BackTools1.4.2v2 Buildcraft-3.1.8.206 buildcraft-Z-additional-buildcraft-objects-0.9.3.52 CoputerCraft1.46 dustmod-v1.1_CORE dustmod-v1.1_DECORATIVE-PACK dustmod-v1.1_DEFAULT-RUNES Ebon Mod[4.0.2]mc1.4.2 ee3-universal-pre1a EnchantingPlus-1.1.9 EnderStorage 1.2.1 ExtraBees-1.4.1.10-dev-build ExtrabiomesXL-3.3.0 Factorization-0.6.13_310 Forestry-1.6.0.0pre6 ForgeIRC-v1.0.11 GraviSuite_1_4 GravityGun1.4.2v2 GregTechmod IC2NuclearControl-1.4.1 Industrialcraft-2_1.108.71-lf InvTweaks-1.44-1.4.2 Ironchest-4.2.1.120 Layman Mod Maker[1.1]mc1.4.2 LogisticsPipes-0.6.0.pre2 ModularForceFieldSystemV2.2.8.0.5 mod_MobTalker Mutant Creatures v1.1.1 mc1.4.2 mystcraft-uni-1.4.2-0.9.4.00 NEI_BuildcraftPlugin 1.2.0.8 NEI_ForestryPlugin 1.3.0.27 NEI_IC2_Burn_1.0 NEI_RailCraftPlugin 1.5.0.10 Obsidiplates-1.0.0.1 Portalgun1.4.2v0.2 Railcraft_6.7.0.0 SoulShards-v1.10-universal StevesCarts2.0.0.a23 ThermalExpansion-2.0.5 TwilightForest-1.12.2
NOTE: For any mods that doesn’t show the version number: I don’t know the version, but it does work for 1.4.2, or at least it DID for the past week.
NOTE: I know I said 54 mods, and there might be more than 54 in the list, I assume the 54 mods are the ones in the mods folder.
-
-
#23
Feb 19, 2013
Here’s my system specs, let’s see how well my comp can run Minecraft, with 40 mods installed(including Optifine and FPS++):
OS Name Microsoft® Windows Vista™ Home Basic
Version 6.0.6002 Service Pack 2 Build 6002
Other OS Description Not Available
OS Manufacturer Microsoft Corporation
System Name JJPKJRL-PC
System Manufacturer Dell Inc.
System Model Dell DM061
System Type X86-based PC
Processor Intel(R) Pentium(R) D CPU 2.80GHz, 2793 Mhz, 2 Core(s), 2 Logical Processor(s)
BIOS Version/Date Dell Inc. 2.2.1, 3/23/2007
SMBIOS Version 2.3
Windows Directory C:Windows
System Directory C:Windowssystem32
Boot Device DeviceHarddiskVolume3
Locale United States
Hardware Abstraction Layer Version = «6.0.6002.18005»
User Name jjpkjrl-PCjjpkjrl
Time Zone Eastern Standard Time
Installed Physical Memory (RAM) 2.00 GB
Total Physical Memory 2.00 GB
Available Physical Memory 648 MB
Total Virtual Memory 5.94 GB
Available Virtual Memory 3.97 GB
Page File Space 4.00 GB
Page File C:pagefile.sys - To post a comment, please login.
Posts Quoted:
Reply
Clear All Quotes
Играя в Minecraft и вообще, пользуясь приложениями, написанными на Java Вы не раз могли столкнуться с ошибками (исключениями). В отличие от других языков программирования, Java жёстко заточена под использование ООП, потому при возникновении ошибки бросается исключение (объект содержащий сведения под ошибке). Его можно «поймать», дабы предпринять какие-то действия (допустим, вывести в лог). В случае майнкрафта, при возникновении исключения, создаётся краш-отчёт и работа игры завершается.
Понять исключения достаточно просто и вам для этого не понадобится специальное ПО для отладки.
Полная печать исключения состоит из 3-х частей:
- Исключение — имя класса ошибки. Классам обычно дают понятные человеку имена, достаточно знаний английского, чтобы понять значение.
- Сообщение — содержит более детальное описание ошибки. Может отсутствовать.
- Стек вызова — отражает ход работы программы (снизу вверх). Данная информация больше полезна разработчику, дабы понять, где именно возникла ошибка. Обычному пользователю данная информация может помочь понять, с чем связана ошибка (по именам классов и вызываемым функциям — методам).
Исключения могут иметь предков, что присутствует в данном примере (после «Caused by» идёт печать исключения-предка). Если вам не понятно исключение, возможно, стоит рассмотреть его предков — они могут содержать более понятное сообщение.
В данной теме я опишу наиболее часто встречающиеся ошибки, а также, какие действия следует или вовсе не следует предпринимать. Причин у ошибок множество и это не всегда повреждённые файлы игры (чего быть в принципе не может, поскольку лаунчер проверяет файлы игры).
При возникновении ошибок не спешите бежать переустанавливать Java и игру! Java — стабильный продукт. В большинстве случаев, ошибки возникают из-за неправильной настройки ОС; ошибок сети; неправильных драйверов.
org.lwjgl.LWJGLException: Pixel format not accelerated
Недоступно аппаратное ускорение графики. Описание ошибки (англ.)
Решение: Установите последнюю версию драйвера видеокарты.
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path validation/building failed
Не удаётся установить защищённое соединение из-за невозможности проверки SSL сертификата.
Что можно сделать:
- Эта ошибка может возникнуть из-за использования слишком старой версии Java. Рекомендуется регулярно обновлять ПО, чтобы иметь актуальный список корневых сертификатов.
- Виновником может быть антивирус, пытающийся «подсунуть» свой сертификат с целью прослушивания трафика. Настоятельно рекомендуется отключить в антивирусе проверку защищённых соединений (HTTPS/SSL/TLS) — это значительно снижает безопасность защищённых соединений и вызывает проблемы в работе приложений, использующие их.
java.net.SocketTimeOutException: Read timed out
Ошибка сети «время ожидания истекло». Здесь сложно установить виновника: проблема может быть как на стороне сервера, вашего провайдера или вызвана антивирусом.
Что можно сделать:
- Отключите антивирус и попробуйте выполнить запрос снова.
- Используйте другое подключение к интернету (другой провайдер; мобильный интернет; VPN; Wi-Fi соседей).
- Используйте VPN для обхода блокировки (цензуры) со стороны вашего интернет-провайдера.
java.net.ConnectException: Connection timed out: connect
Ошибка сети — не удалось установить соединение с хостом. Обычно виновником данной ошибки является Firewall (брандмауэр) или отсутствие интернета.
Что можно сделать:
- Проверьте наличие подключения к интернету.
- Временно отключите антивирус и Firewall.
java.net.SocketException: Connection reset / Удаленный хост принудительно разорвал существующее подключение
Ошибка сети «соединение сброшено». Как и в предыдущей ошибке, проблема связана с «плохим» интернетом, либо проблемами на стороне сервера (в этом случае ошибка будет у всех). Чаще всего возникает у пользователей мобильного интернета (USB-модем). От вас никаких действий предпринимать не требуется, кроме как найти «другой интернет» или использовать VPN для обхода фильтра сайтов.
java.lang.ClassCastException: XXX cannot be cast to YYY
Ошибка в логике программы: попытка привести объект к классу, экземпляром коего объект не является.
Решение: Сообщите о проблеме разработчику программы, приложив лог ошибки.
java.io.IOException: Server returned HTTP response code: 000 for URL
Проблема на стороне веб-сервера. Стандартная библиотека Java выбрасывает исключение, если веб-сервер выдаёт, например, страницу «404 Not Found».
Решение: Сообщите о проблеме владельцу веб-сервера, URL которого указан в тексте ошибки.
java.lang.UnsatisfiedLinkError: Can’t load library:
Не удалось загрузить нативную библиотеку (скорее всего, отсутствует файл по указанному пути).
Что можно сделать:
-
Чаще всего ошибка возникает из-за отсутствия библиотек LWJGL. Почему их файлы пропадают, пока остаётся загадкой. Если пути вы видите «.redserver/natives/2.9.1/lwjgl.dll», значит надо удалить папку natives, находящуюся в .redserver, чтобы лаунчер их скачал заново.
Неактуально: С версии 3.2 лаунчер проверяет наличие всех файлов и автоматически, при необходимости, перекачивает их.
java.lang.RuntimeException: Unknown character in
Синтаксическая ошибка в конфигурационном файле мода.
Что можно сделать:
- Удалите указанный в ошибке файл. Мод создаст новый с настройками по умолчанию.
- Если вам сложно удалить файл, можно сделать сброс конфигов через лаунчер. Нажмите в лаунчере на многоточие на кнопке «Играть»; выберите в меню пункт «Очистка клиента»; установите флажок возле «Сбросить конфигурацию» и запустите очистку.
- Выполните проверку диска на наличие ошибок. Испорченные файлы могут быть признаком неисправности диска.
java.lang.NullPointerException (NPE)
Ошибка в логике программы: попытка вызвать нестатичный метод, обратиться к полю несуществующего объекта — null.
Решение: Сообщите о проблеме разработчику программы, приложив лог ошибки.
java.net.UnknownHostException
Ошибка сети: не удаётся определить IP-адрес доменного имени (в общем, проблемы с DNS).
Что можно сделать:
- Иногда ошибка может возникать, если вы не подключены к интернету, либо же произошёл разрыв интернет-соединения. Обычно исчезает сама через небольшой промежуток времени после возобновления соединения. Если ошибка не исчезла — может помочь перезагрузка компьютера (сбрасывает кеш DNS).
- Доступ к ресурсу заблокирован вашим провайдером. Сейчас данная проблема актуальна для украинских пользователей: используемый нами Яндекс.DNS заблокирован в этой стране. Читайте, как обойти блокировку DNS.
java.io.EOFException: Unexpected end of ZLIB input stream
Неожиданный конец файла. В данном случае — ZIP-архива. Возникает например, когда вы пытаетесь распаковать недокачанный архив.
java.net.SocketException: Address family not supported by protocol family: connect
Проблема возникает из-за неправильной настройки протокола IPv6. Если таковой не поддерживается вашим интернет-провайдером, его поддержку следует отключить.
java.lang.OutOfMemoryError
А вот это как раз «любимая» ошибка про нехватку ОЗУ. Не стоит сразу спешить выставлять память в лаунчере на максимум, потому что дальнейшие действия зависят от сообщения к ошибке:
- Unable to create new native thread / Metaspace — в вашей системе закончились ресурсы (ОЗУ). Решается только путём завершения всех лишних программ, либо апгрейдом ПК (больше ОЗУ — больше программ можно запустить). Не забывайте, что следует использовать 64-разрядную систему.
- Java heap space — нехватка размера heap области памяти. Увеличьте лимит памяти в настройках лаунчера.