2016-11-26 5 views
0

Я пытаюсь добавить еще 10 строк в конце таблицы Excel (в настоящее время 27k строк длинного)OutOfMemoryError (Java): Java куча пространство

options(java.parameters = "-Xmx4g") ; 
library(XLConnect) ; 
writeWorksheetToFile("H:/R/myfile.xlsx",DataTable,sheet="Sheet1",startRow=row1,startCol=1,header=FALSE,rownames=FALSE) 

через несколько секунд я получаю ошибку

OutOfMemoryError (Java): Java heap space

Как это исправить? Должны ли параметры (java.parameters = "-Xmx4g") работать?

+0

'Не должны ли параметры ... работать?' ... нет, если то, что вы пытаетесь сделать, превышает доступное пространство кучи. Какую версию Java вы используете (например, 64-битный Java 8)? –

+0

С 'options (java.parameters =" -Xmx512m ")' он не работает? Для ваших слабых в байтах данных должно быть достаточно. Если вы превысите кучу пространства, возможно, это значение не учитывается. Попробуйте использовать jvisualvm или аналогичные инструменты для проверки правильности конфигурации памяти во время выполнения. – davidxxx

+0

Попробуйте использовать 'java.parameters =" -Xmx8g "' –

ответ

0

Попробуйте использовать пакет openxlsx. У меня были проблемы с XLConnect и Java.

+0

Мне очень нравится XLconnect, но я отказываюсь от неизлечимых ошибок, которые всегда появляются. Теперь выполняется m = матрица (c (1,2,3,4,5,6,7,8,9), 3); writeWorksheetToFile ("H: /R/m.xlsx", m, sheet = "Sheet1", rownames = FALSE); 'дает мне' Error: ClassCastException (Java): org.apache.xmlbeans.impl.values.XmlComplexContentImpl не может быть бросить на org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorkbookPr' конечно, если я запустил тот же код на другом значении R, он отлично работает. – Carlo

+0

HI @DataMunger Я пытаюсь использовать openxlsx, но получаю сообщение об ошибке «Попробуйте installr :: install.rtools() в Windows». Если я попробую, я получаю еще более грязную «Ошибка в loadNamespace (name): нет пакета под названием« installr »), и я не могу найти этот rtools в списке пакетов. Что я должен делать, чтобы выполнять какие-либо действия с openslsx? – Carlo

+0

Вы можете найти Rtools по адресу setup_rtools {devtools} \t R Документация Найти rtools. Описание Чтобы создать двоичные пакеты на окнах, Rtools (находится по адресу http://cran.r-project.org/bin/windows/Rtools/) должен быть на пути. По умолчанию процесс установки не добавляет его, поэтому этот скрипт находит его (смотря сначала на путь, затем в реестр). Он также проверяет, что версия rtools соответствует версии R. Использование setup_rtools (кэш = TRUE, отладки = FALSE) Это должно позволить вам установить Rtools, а затем вы должны быть хорошо идти с openxlsx. –

Смежные вопросы