размер кучи памяти, необходимой для обработки записей - PullRequest
0 голосов
/ 05 февраля 2019

Я обрабатываю данные, содержащие 1 миллион записей в затмении. Я увеличил объем памяти кучи с -xmas 256m до -xmas 512m и с -xmax 1024m до -xmax 2048m. По-прежнему возникает ошибка:

Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java 
heap space
at java.util.Arrays.copyOf(Unknown Source)
at java.lang.AbstractStringBuilder.ensureCapacityInternal(Unknown Source)
at java.lang.AbstractStringBuilder.append(Unknown Source)
at java.lang.StringBuffer.append(Unknown Source)
at java.io.StringWriter.write(Unknown Source)
at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1129)
at org.apache.commons.io.IOUtils.copy(IOUtils.java:1104)
at org.apache.commons.io.IOUtils.copy(IOUtils.java:1050)
at org.apache.commons.io.IOUtils.toString(IOUtils.java:359)
at WorkSpot.Ftp.getmfebcdata(Ftp.java:372)
at WorkSpot.ParseData.parsetolines(ParseData.java:112)
at WorkSpot.SheetFormat.getsheet(SheetFormat.java:55)
at WorkSpot.MainScreen$1.actionPerformed(MainScreen.java:492)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown 
Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)

Пожалуйста, помогите мне решить эту проблему.

Ответы [ 2 ]

0 голосов
/ 05 февраля 2019

Настройки eclipse.ini изменяют память, используемую самим Eclipse, они не изменяют настройки памяти программ, которые вы запускаете из Eclipse.Редко нужно менять этот файл.

Чтобы изменить настройки вашей программы, откройте диалоговое окно «Выполнить> Выполнить настройки».

Найдите конфигурацию вашей программы в разделе «Приложения Java».

На вкладке «Аргументы» укажите параметры -Xms и -Xmx в разделе «Аргументы VM».

0 голосов
/ 05 февраля 2019

Вы используете неправильные переключатели, вам нужно -Xms и -Xmx.Например, -Xmx1024m, обратите внимание также на отсутствие пробелов.См. эту ссылку для получения дополнительной информации о коммутаторах.

...