首页 文章

增加(或减少)R进程可用的内存

提问于
浏览
104

我想增加(或减少)R可用的内存量 . 实现此目的的方法有哪些?

4 回答

  • 55

    使用 memory.limit() . 您可以使用此命令 memory.limit(size=2500) 来增加默认值,其中大小以MB为单位 . 您需要使用64位才能真正利用这一点 .

    另一个建议是尽可能使用内存有效的对象:例如,使用矩阵而不是data.frame .

  • 39
    • 买更多的公羊

    • 切换到64位操作系统 . 与第1点结合 .

  • 6

    从:

    http://gking.harvard.edu/zelig/docs/How_do_I2.htmlmirror

    Windows用户可能会收到R内存不足的错误 . 如果已安装R并随后安装更多RAM,则可能必须重新安装R才能利用额外容量 . 您也可以手动设置可用内存量 . 关闭R,然后右键单击R程序图标(桌面上或程序目录中的图标) . 选择“属性”,然后选择“快捷方式”选项卡 . 查找“目标”字段,在R可执行文件的位置附近的引号后,添加--max-mem-size = 500M,如下图所示 . 您可以将此值增加到2GB或已安装的最大物理RAM量 . 如果你得到R不能分配长度为x的向量的错误,则关闭R并将以下行添加到“Target”字段: - max-vsize = 500M或视情况而定 . 您可以通过在R提示符下键入来查看R可用的内存量

    memory.limit()
    

    它以MB为单位提供可用内存量 . 在以前的R版本中,您需要使用: round(memory.limit()/2^20, 2) .

  • 9

    如果可以,Microsoft Windows将接受来自进程的任何内存请求 .

    除虚拟内存大小外,可以提供给进程的内存没有限制 .

    无论您运行多少个应用程序,任何进程的32位系统的虚拟内存大小均为4GB . 任何进程都可以在32位系统中分配高达4GB的内存 .

    实际上,Windows会根据进程请求和页面文件机制自动从RAM或页面文件中分配已分配内存的某些部分 .

    但另一个限制是页面文件的大小 . 如果您有一个小的分页文件,则无法分配大内存 . 您可以根据Microsoft增加页面文件的大小以获得更多的内存空间 .

相关问题