Выделение большего объекта в R? - PullRequest
2 голосов
/ 16 сентября 2010

Я немного запутался в следующем: я использую R на 32-битной Windows.Насколько я понимаю, я должен иметь возможность выделить до 2 ГБ.

Я прочитал help("Memory") и запустил сеанс R с флагом RGui.exe --max-mem-size=1000M.Затем подтвердил это в R:

> memory.limit()
[1] 1000

Но когда я запускаю определенную операцию, я получаю сообщение об ошибке, которое говорит что-то вроде «Невозможно выделить объект размером 512 МБ».

Я что-то не так делаю?

Ответы [ 2 ]

4 голосов
/ 17 сентября 2010

Сообщение об ошибке не означает, что у вас есть 512 МБ доступной памяти. У вас все еще есть ограничение в 1000 МБ, но используется не менее 488, и для некоторых операций R требуется 512 МБ, которых нет, поэтому он не может выделить какой-либо объект.

Если вы отслеживаете память, используемую процессом R (например, с помощью Process Explorer ), то вы увидите, как R достигает 1000 МБ, и ваше сообщение появляется.

2 голосов
/ 16 сентября 2010

Попробуйте также добавить флаг --max-mem-size=1000M

Также обратите внимание, что в 32-разрядной сборке вполне может быть достаточно свободной памяти, но недостаточно большого непрерывного блока адресного пространства, в которое ее можно отобразить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...