Eclipse Memory Analyzer, но всегда отображается Внутренняя ошибка?
java.lang.OutOfMemoryError: Java heap space
Dumping heap to java_pid2584.hprof ...
Heap dump file created [106948719 bytes in 4.213 secs]
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:2760)
at java.util.Arrays.copyOf(Arrays.java:2734)
at java.util.ArrayList.ensureCapacity(ArrayList.java:167)
at java.util.ArrayList.add(ArrayList.java:351)
at Main.main(Main.java:15)
Но когда я открываю главный dump java_pid2584.hprof через Eclipse Memory Analyzer, но всегда есть сообщение:
An internal error occurred during:
"Parsing heap dump from **\java_pid6564.hprof'".Java heap space
Ответы
Ответ 1
Проблема в том, что в Eclipse Memory Analyzer недостаточно места для кучи, чтобы открыть файл дампа кучи.
Вы можете решить проблему следующим образом:
Ответ 2
Обратите внимание, что в OS X, чтобы увеличить память, выделенную для MAT, вам нужно щелкнуть правой кнопкой мыши Memory Analyzer.app и показать содержимое пакета. Файл MemoryAnalyzer.ini находится в папке/Содержание/MacOS/.
Ответ 3
Решение для той же проблемы для модуля Memory Analyzer в Eclipse в MAC OS X El Capitan.
Я столкнулся с той же проблемой, но с плагином eclipse, и у меня не было приложения Memory Analyzer в папке приложений. Решение, которое работало для меня, было:
- Щелкните правой кнопкой мыши значок Eclipse и выберите "Показать содержимое пакета".
- Перейдите в раздел Содержание > Eclipse
- Открыть Eclipse.ini
- Изменить значение -Xmx1024m на -Xmx2048m
- Перезапуск Eclipse
Ответ 4
В OS X 11.5 (El Cap) модификация MemoryAnalyzer.app/Contents/MacOS/MemoryAnalyzer.ini
не работает! Это происходит потому, что он ищет MemoryAnalyzer.ini
в другом месте.
На моем компьютере он искал:
MemoryAnalyzer.app/Contents/Eclipse/MemoryAnalyzer.ini
, но реальный файл .ini был:
MemoryAnalyzer.app/Contents/MacOS/MemoryAnalyzer.ini
.
Чтобы изменения вступили в силу, скопируйте существующий файл .ini
в новое место.
Чтобы найти, где MemoryAnalyzer ищет файл ini, вы можете запустить:
sudo su
cd ...MemoryAnalyzer.app/Contents/MacOS/
dtruss ./MemoryAnalyzer 2>&1 | grep ini
Ответ 5
Если из Eclipse используется Memory Analyzer, то отредактируйте файл eclipse.ini, чтобы увеличить аргумент vm до -Xmx1024m или выше. Это сработало для меня. http://wiki.eclipse.org/index.php/MemoryAnalyzer/FAQ#Out_of_Memory_Error_while_Running_the_Memory_Analyzer
Ответ 6
Я также пробовал все решения здесь, но все же получал ту же ошибку и причина, по которой eclipse пыталась открыть файл .hprof в виде текстового файла из-за неправильной или неизвестной ассоциации типа файла/редактора.
Решение: щелкните правой кнопкой мыши по файлу, выберите "Открыть", затем "Другие" и выберите "Анализатор памяти Eclipse".
Работал с дампом 700 Мбайт и работал с дампом 2G на кучу затмения около 600 млн.
Ответ 7
Если вы используете Mac, попробуйте запустить исполняемый файл в папке "mat.app" с параметром -data, с помощью которого вы можете указать путь для записи:
cd mat.app/Contents/MacOS
./MemoryAnalyzer -data <writable_path>
Ответ 8
Как полагают другие, это простой двухэтапный процесс:
-
откройте файл MemoryAnalyzer.ini из установочного каталога MAT.
-
измените значение по умолчанию -Xmx1024m на больший размер, например, если вам нужно проанализировать дамп кучи объемом 4 ГБ, вы можете заменить -Xmx1024m на -Xmx5g или -Xmx6g
Для получения более подробной информации обращайтесь: - https://better-coding.com/solved-eclipse-mat-java-heap-space-error/
Ответ 9
Вы можете уменьшить предел памяти приложения, а затем снова взять свалку. Eclipse Memory Analyzer ставит файл dump в память - я подозреваю, что ваш Eclipse имеет меньше памяти, чем предел приложения.
Вы также можете сделать обратное и увеличить ограничение памяти для Eclipse, но если ваше приложение работает на сервере, будет трудно сопоставить размер памяти.
Ответ 10
Произошла внутренняя ошибка. Явное пространство Java
Ans: GO to Your Project Рабочее пространство
открыть папку .setting
Удалите весь файл папки .setting.
после того, как вы сможете скомпилировать
теперь нет ошибки. Как пустое пространство
Наслаждайтесь:)