在 Windows 上使用 Rserve 进行内存管理
Memory management with Rserve on Windows
我需要用 Python 执行各种任务:敏感性分析、优化和模拟启动。然而,模拟结果的第一次后处理依赖于 R 和存储在 Rdata 中的庞大数据库(8 Gb,一些数据表高达 3 Gb)。所以我需要迭代 R 脚本的调用而不迭代数据加载(这需要几分钟)。我首先尝试使用 pyRserve,但我面临的内存限制似乎比原始 R 更严格。
与:
import pyRserve
conn = pyRserve.connect()
conn.r.load('.Rdata')
我收到以下错误:
REvalError: Error: cannot allocate vector of size 640.3 Mb
所以:
1/ 有没有办法为 Rserve 分配更多内存(通常是在原始 R 中分配的数量,即我的配置为 16 Gb)?
2/ 是否有 Rserve 的替代方案,以便一劳永逸地加载 Rdata,然后 运行 在同一工作区内加载 R 脚本?
以下完美运行。
memory_limit = getattr(conn.r, 'memory.limit')
memory_limit(16287.0)
我需要用 Python 执行各种任务:敏感性分析、优化和模拟启动。然而,模拟结果的第一次后处理依赖于 R 和存储在 Rdata 中的庞大数据库(8 Gb,一些数据表高达 3 Gb)。所以我需要迭代 R 脚本的调用而不迭代数据加载(这需要几分钟)。我首先尝试使用 pyRserve,但我面临的内存限制似乎比原始 R 更严格。
与:
import pyRserve
conn = pyRserve.connect()
conn.r.load('.Rdata')
我收到以下错误:
REvalError: Error: cannot allocate vector of size 640.3 Mb
所以:
1/ 有没有办法为 Rserve 分配更多内存(通常是在原始 R 中分配的数量,即我的配置为 16 Gb)?
2/ 是否有 Rserve 的替代方案,以便一劳永逸地加载 Rdata,然后 运行 在同一工作区内加载 R 脚本?
以下完美运行。
memory_limit = getattr(conn.r, 'memory.limit')
memory_limit(16287.0)