powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Настройки памяти Java для IntelliJ 11
15 сообщений из 15, страница 1 из 1
Настройки памяти Java для IntelliJ 11
    #38463903
Полуламер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем здрасте. Работаю с этой оболочкой - так получилось. Не так давно столкнулся с проблемой (до этого пользовался установками по умолчанию) - при работе с большими объемами данных выпрыгивает сообщение об ошибке: java.lang.OutOfMemoryError: Java heap space . Порылся в интернете, но в IntelliJ слишком много разных настроек, запутался в них окончательно, а результата не добился. Сначала про теперешнюю систему: Windows 7 Professional 64, аж целых 20 Гб оперативки, при старте IntelliJ64.exe в Help -> About видно, что виртуальная машина в этом случае JDK 1.7.0 HotSpot 64-Bit Server VM.

По умолчанию были такие настройки:

idea64.exe.vmoptions

-Xms128m
-Xmx800m
-XX:MaxPermSize=350m
-XX:ReservedCodeCacheSize=64m
-ea

Settings -> Compiler -> Java Compiler -> Maximum heap size: 128

Run -> Edit Configurations -> VM Options: -Xms512m -Xmx1024m -XX:-UseGCOverheadLimit

Еще раз по нехорошей ситуации: в двойном цикле обрабатываются данные из списка элементов, потом заносятся в файл, который с помощью POI должен быть сохранен как Excel-файл. В первом цикле количество проходов всего 4, во втором - довольно большое и в этом вся загвоздка. Когда элементов 100 или 200, то все создается нормально, но начиная с 500, молчу уже про 1000, на предпоследнем проходе уже тормоза, на последнем - черепашья скорость и после агонии вышеозначенное сообщение. Не подскажете, где что настроить, чтобы нормально отрабатывало? Насколько я понимаю, ресурсов более чем достаточно или нет? Заранее благодарю за возможную помощь.
...
Рейтинг: 0 / 0
Настройки памяти Java для IntelliJ 11
    #38463910
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот в этом месте в основном надо настраивать, это то что использует ваш цикл когда запускается
Run -> Edit Configurations -> VM Options: -Xms512m -Xmx1024m -XX:-UseGCOverheadLimit

В idea64.exe.vmoptions можете уменьшать, если идея вместе с запускаемым проектом не умещается в оперативе
...
Рейтинг: 0 / 0
Настройки памяти Java для IntelliJ 11
    #38463915
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выше приведены настройки 3х разных процессов
- Самой IDE
- Компилятора
- Вашего проекта
Первые два к описанию проблемы отношения не имеют.

-Xmx1024m в настройках запуска вашего проекта лимитирует используемую память одним гигабатом. Поэтому 20Гб вашей оперативки ему побоку. Кстати а зачем вообще столько на рабочей станции???

По поводу обработки КЭТ, это уже надо код смотреть. А так же запускать JDK/bin/jvisualvm и анализировать заполнение кучи.
Поставьте -Xmx4096m для того чтобы работало быстрее.
Но анализировать потребление памяти лучше на маленьких кучах до 1 Гб
...
Рейтинг: 0 / 0
Настройки памяти Java для IntelliJ 11
    #38463919
Полуламер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лагман , а можно чуточку поподробнее? IntelliJ стопудово умещается в оперативе. То есть Settings -> Compiler -> Java Compiler -> Maximum heap size не трогать вообще? А как тогда изменить строку для VM при запуске? Я менял idea64.exe.vmoptions так:

-Xms1024m
-Xmx2048m

а потом Run -> Edit Configurations -> VM Options так: -Xms1024m -Xmx2048m -XX:-UseGCOverheadLimit

Так не пашет, выдает при попытке запуска ошибку:

Error occurred during initialization of VM
Could not reserve enough space for object heap
...
Рейтинг: 0 / 0
Настройки памяти Java для IntelliJ 11
    #38463932
Полуламер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczВыше приведены настройки 3х разных процессов
- Самой IDE
- Компилятора
- Вашего проекта
Первые два к описанию проблемы отношения не имеют
Ага, вот уже кое-что понятно, благодарю.

автор-Xmx1024m в настройках запуска вашего проекта лимитирует используемую память одним гигабатом. Поэтому 20Гб вашей оперативки ему побоку.
А жаль

авторКстати а зачем вообще столько на рабочей станции???
Не знаю, достался такой комп, зачем столько памяти в него вбухали - для меня тоже загадка.

Поставьте -Xmx4096m для того чтобы работало быстрее
О проблеме невозможности запустить с -Xmx, превышающим 1 Гб, написал в предыдущем посте.
...
Рейтинг: 0 / 0
Настройки памяти Java для IntelliJ 11
    #38463944
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полуламер,


ПолуламерCould not reserve enough space for object heap
Jvm пытается себе сразу аллоцировать память в размере указанном в Xms. Если у системы нет её, то не запускается. Видимо, несмотря на то что у вас там 20Гб, они чем-то уже заняты?
Проверьте ещё что у вас в File-> project structure стоит 64битная JDK
...
Рейтинг: 0 / 0
Настройки памяти Java для IntelliJ 11
    #38463961
Полуламер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛагманПроверьте ещё что у вас в File-> project structure стоит 64битная JDK
Что-то не могу увидеть там 64-битность.
...
Рейтинг: 0 / 0
Настройки памяти Java для IntelliJ 11
    #38463965
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПолуламерError occurred during initialization of VM
Could not reserve enough space for object heap
1. Поставить 64 битную Java
2. Поставить Oracle JRockit, тогда можно будет 3 Gb на 32 битах использовать )))
...
Рейтинг: 0 / 0
Настройки памяти Java для IntelliJ 11
    #38463981
Полуламер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev, я в начальном сообщении написал, что 64-битная IntelliJ использует JDK 1.7.0 HotSpot 64-Bit Server VM, разве это не то, что нужно?
...
Рейтинг: 0 / 0
Настройки памяти Java для IntelliJ 11
    #38464056
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если бы JDK и JRE использовалось 64 битное, то ошибки связанной с памятью не было IMHO & AFAIK.

1. Какая JDK выбрана для проекта?

/На проекте правой кнопкой мышки, Module Setting, Project, Project SDK/

2. Попытайся в настройках Run -> Edit configuration -> Application указать Use alternative JRE и выбрать точно 64 бит JRE
...
Рейтинг: 0 / 0
Настройки памяти Java для IntelliJ 11
    #38464762
Полуламер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В Project SDK изначально было 1.7. Выбрал JRE 1.7.0 для Use alternative JRE, презапустил IntelliJ - увы, не помогло. Проверил версию VM вручную:

авторC:\Program Files (x86)\JetBrains\IntelliJ IDEA 11.1.5\bin>java -version
java version "1.7.0"
Java(TM) SE Runtime Environment (build 1.7.0-b147)
Java HotSpot(TM) 64-Bit Server VM (build 21.0-b17, mixed mode)

Что еще ей надо, никак не могу понять.
...
Рейтинг: 0 / 0
Настройки памяти Java для IntelliJ 11
    #38464893
Полуламер C:\Program Files (x86)
Что еще ей надо, никак не могу понять.

Ей нужна 64-битная JVM, которая инсталируется в папку Program Files без "(x86)"
...
Рейтинг: 0 / 0
Настройки памяти Java для IntelliJ 11
    #38464905
календареведЕй нужна 64-битная JVM, которая инсталируется в папку Program Files без "(x86)"
Или 64-битная IDEA? Вообще, какой смысл использовать именно 32-битную?
...
Рейтинг: 0 / 0
Настройки памяти Java для IntelliJ 11
    #38464931
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запустите проект. Подцепитесь к нему из jvisualvm и посмотрите детальную инфу о том какая JVM исполняется.
Варианта всего два, либо что-то не так с запуском и процесс 32-битный. Кстати это даже в TaskManager можно увидеть.
Либо дело действительно в отсутствии достаточного непрерывного места в памяти, что при 20Гб более чем странно.
...
Рейтинг: 0 / 0
Настройки памяти Java для IntelliJ 11
    #38465020
Полуламер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемый Blazkowicz , уже в который раз рассыпаюсь в благодарностях! :) Сравнил информацию при запуске из IntelliJ и из командной строки и обнаружил, что IntelliJ тычется в java-каталог с 32-версией VM. Подцепил нужный SDK в настройках для проекта и смог наконец-то запустить с параметрами -Xms4096m -Xmx8192m, чего безуспешно добивался большую часть вчерашнего дня. Всем большое спасибо за помощь в решении проблемы!
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Настройки памяти Java для IntelliJ 11
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]