Управление памятью с помощью Rserve на Windows

Мне нужно выполнить различные задачи с Python: анализ чувствительности, оптимизация и запуск моделирования. Однако первая постобработка результатов моделирования основывается на R и громоздкой базе данных, хранящейся в Rdata (8 ГБ с некоторыми таблицами данных, представляющими до 3 ГБ). Поэтому мне нужно повторить вызов сценариев R, не повторяя загрузку данных (что занимает несколько минут). Я сначала попробовал с pyRserve, но я сталкиваюсь с ограничениями памяти, которые кажутся более ограничительными, чем с raw R.

С:

import pyRserve
conn = pyRserve.connect()
conn.r.load('.Rdata')

Я получаю следующую ошибку:

REvalError: Error: cannot allocate vector of size 640.3 Mb

Так:

1 / Есть ли способ выделить больше памяти для Rserve (как правило, объем, выделенный в raw R, т.е. 16 Гб с моей конфигурацией)?

2 / Есть ли альтернатива Rserve для того, чтобы раз и навсегда загрузить Rdata, а затем запустить сценарии R в одной рабочей области?

1 ответ

Решение

Следующее работает отлично.

memory_limit = getattr(conn.r, 'memory.limit')
memory_limit(16287.0)
Другие вопросы по тегам