|
|
|
Настройки памяти Java для IntelliJ 11
|
|||
|---|---|---|---|
|
#18+
Всем здрасте. Работаю с этой оболочкой - так получилось. Не так давно столкнулся с проблемой (до этого пользовался установками по умолчанию) - при работе с большими объемами данных выпрыгивает сообщение об ошибке: 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, на предпоследнем проходе уже тормоза, на последнем - черепашья скорость и после агонии вышеозначенное сообщение. Не подскажете, где что настроить, чтобы нормально отрабатывало? Насколько я понимаю, ресурсов более чем достаточно или нет? Заранее благодарю за возможную помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2013, 18:28:09 |
|
||
|
Настройки памяти Java для IntelliJ 11
|
|||
|---|---|---|---|
|
#18+
Вот в этом месте в основном надо настраивать, это то что использует ваш цикл когда запускается Run -> Edit Configurations -> VM Options: -Xms512m -Xmx1024m -XX:-UseGCOverheadLimit В idea64.exe.vmoptions можете уменьшать, если идея вместе с запускаемым проектом не умещается в оперативе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2013, 18:33:14 |
|
||
|
Настройки памяти Java для IntelliJ 11
|
|||
|---|---|---|---|
|
#18+
Выше приведены настройки 3х разных процессов - Самой IDE - Компилятора - Вашего проекта Первые два к описанию проблемы отношения не имеют. -Xmx1024m в настройках запуска вашего проекта лимитирует используемую память одним гигабатом. Поэтому 20Гб вашей оперативки ему побоку. Кстати а зачем вообще столько на рабочей станции??? По поводу обработки КЭТ, это уже надо код смотреть. А так же запускать JDK/bin/jvisualvm и анализировать заполнение кучи. Поставьте -Xmx4096m для того чтобы работало быстрее. Но анализировать потребление памяти лучше на маленьких кучах до 1 Гб ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2013, 18:37:20 |
|
||
|
Настройки памяти Java для IntelliJ 11
|
|||
|---|---|---|---|
|
#18+
Лагман , а можно чуточку поподробнее? 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2013, 18:41:18 |
|
||
|
Настройки памяти Java для IntelliJ 11
|
|||
|---|---|---|---|
|
#18+
BlazkowiczВыше приведены настройки 3х разных процессов - Самой IDE - Компилятора - Вашего проекта Первые два к описанию проблемы отношения не имеют Ага, вот уже кое-что понятно, благодарю. автор-Xmx1024m в настройках запуска вашего проекта лимитирует используемую память одним гигабатом. Поэтому 20Гб вашей оперативки ему побоку. А жаль авторКстати а зачем вообще столько на рабочей станции??? Не знаю, достался такой комп, зачем столько памяти в него вбухали - для меня тоже загадка. Поставьте -Xmx4096m для того чтобы работало быстрее О проблеме невозможности запустить с -Xmx, превышающим 1 Гб, написал в предыдущем посте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2013, 18:47:14 |
|
||
|
Настройки памяти Java для IntelliJ 11
|
|||
|---|---|---|---|
|
#18+
Полуламер, ПолуламерCould not reserve enough space for object heap Jvm пытается себе сразу аллоцировать память в размере указанном в Xms. Если у системы нет её, то не запускается. Видимо, несмотря на то что у вас там 20Гб, они чем-то уже заняты? Проверьте ещё что у вас в File-> project structure стоит 64битная JDK ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2013, 18:52:06 |
|
||
|
Настройки памяти Java для IntelliJ 11
|
|||
|---|---|---|---|
|
#18+
ЛагманПроверьте ещё что у вас в File-> project structure стоит 64битная JDK Что-то не могу увидеть там 64-битность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2013, 19:04:38 |
|
||
|
Настройки памяти Java для IntelliJ 11
|
|||
|---|---|---|---|
|
#18+
ПолуламерError occurred during initialization of VM Could not reserve enough space for object heap 1. Поставить 64 битную Java 2. Поставить Oracle JRockit, тогда можно будет 3 Gb на 32 битах использовать ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2013, 19:05:32 |
|
||
|
Настройки памяти Java для IntelliJ 11
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev, я в начальном сообщении написал, что 64-битная IntelliJ использует JDK 1.7.0 HotSpot 64-Bit Server VM, разве это не то, что нужно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2013, 19:15:38 |
|
||
|
Настройки памяти Java для IntelliJ 11
|
|||
|---|---|---|---|
|
#18+
Если бы JDK и JRE использовалось 64 битное, то ошибки связанной с памятью не было IMHO & AFAIK. 1. Какая JDK выбрана для проекта? /На проекте правой кнопкой мышки, Module Setting, Project, Project SDK/ 2. Попытайся в настройках Run -> Edit configuration -> Application указать Use alternative JRE и выбрать точно 64 бит JRE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2013, 20:19:27 |
|
||
|
Настройки памяти Java для IntelliJ 11
|
|||
|---|---|---|---|
|
#18+
В 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) Что еще ей надо, никак не могу понять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2013, 12:10:28 |
|
||
|
Настройки памяти Java для IntelliJ 11
|
|||
|---|---|---|---|
|
#18+
Полуламер C:\Program Files (x86) Что еще ей надо, никак не могу понять. Ей нужна 64-битная JVM, которая инсталируется в папку Program Files без "(x86)" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2013, 12:56:28 |
|
||
|
Настройки памяти Java для IntelliJ 11
|
|||
|---|---|---|---|
|
#18+
календареведЕй нужна 64-битная JVM, которая инсталируется в папку Program Files без "(x86)" Или 64-битная IDEA? Вообще, какой смысл использовать именно 32-битную? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2013, 13:01:03 |
|
||
|
Настройки памяти Java для IntelliJ 11
|
|||
|---|---|---|---|
|
#18+
Запустите проект. Подцепитесь к нему из jvisualvm и посмотрите детальную инфу о том какая JVM исполняется. Варианта всего два, либо что-то не так с запуском и процесс 32-битный. Кстати это даже в TaskManager можно увидеть. Либо дело действительно в отсутствии достаточного непрерывного места в памяти, что при 20Гб более чем странно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2013, 13:10:55 |
|
||
|
Настройки памяти Java для IntelliJ 11
|
|||
|---|---|---|---|
|
#18+
Уважаемый Blazkowicz , уже в который раз рассыпаюсь в благодарностях! :) Сравнил информацию при запуске из IntelliJ и из командной строки и обнаружил, что IntelliJ тычется в java-каталог с 32-версией VM. Подцепил нужный SDK в настройках для проекта и смог наконец-то запустить с параметрами -Xms4096m -Xmx8192m, чего безуспешно добивался большую часть вчерашнего дня. Всем большое спасибо за помощь в решении проблемы! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2013, 13:49:26 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38463915&tid=2128203]: |
0ms |
get settings: |
7ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
180ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 193ms |
| total: | 449ms |

| 0 / 0 |
