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

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

С участием:

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

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

REvalError: Error: cannot allocate vector of size 640.3 Mb

So:

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

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


person Antoine Gautier    schedule 26.05.2015    source источник


Ответы (1)


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

memory_limit = getattr(conn.r, 'memory.limit')
memory_limit(16287.0)
person Antoine Gautier    schedule 26.05.2015