Tae*_*hin 11 memory memory-management r
我的机器中有6 GB的内存(Windows 7 Pro 64位),在R中,我得到了
> memory.limit()
6141
Run Code Online (Sandbox Code Playgroud)
当然,在处理大数据时,会发生内存分配错误.所以为了让R使用虚拟内存,我使用
> memory.limit(50000)
Run Code Online (Sandbox Code Playgroud)
现在,在运行我的脚本时,我不再有内存分配错误,但是R占用了我计算机中的所有内存,因此在脚本完成之前我无法使用该机器.我想知道是否有更好的方法让R管理机器的内存.我认为它可以做的是使用虚拟内存,如果它使用的是物理内存而不是用户指定的内存.有这样的选择吗?
R不管理机器的内存.这是操作系统的责任.唯一的原因memory.size,并memory.limit在Windows上存在是因为(从help("Memory-limits")):
Under Windows, R imposes limits on the total memory allocation
available to a single session as the OS provides no way to do so:
see 'memory.size' and 'memory.limit'.
Run Code Online (Sandbox Code Playgroud)
R对象还必须占用RAM中的连续空间,因此只需几个大对象就可能遇到内存分配问题.你可能会对你创建的对象的数量/大小更加小心,并避免使用这么多内存.
| 归档时间: |
|
| 查看次数: |
6060 次 |
| 最近记录: |