首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

win平台在运行R脚本时出现内存不足该怎么办?

前段时间跑了一个R脚本,在运行过程中出现先这个报错信息:

Error: cannot allocate vector of size 1.6GB

咦?这是怎么了?内存不足!数据太大!(我的硬件只有8G运行内存)

怎么办怎么办?着急跑脚本呢

01

计策一

加装内存条?虽说是一个办法,但是内存条要在快递途中几天才能送达,于是弃了这个策略。

02

计策二

找内存大的小伙伴帮忙跑,或者自己在服务器上跑?嗯,这个想法不错,but 在服务器上或小伙伴电脑上配置R版本以及依赖的R包有点麻烦(我用的R包依赖的R包有点多…)试了一下,又要装软件又要配R包,好麻烦,好吧,弃了这个方案!

03

计策三:(我最终使用的策略)

你内存不足是吧,那我分配一些虚拟内存给你试试,于是我给系统增加了虚拟内存

https://jingyan.baidu.com/article/0bc808fc6e3ac71bd485b9fa.html

又跑了一遍,还是出现“Error: cannot allocate vector of size 1.6GB”的报错信息。

不应该呀?到底啥毛病?

原来操作系统会给R自动分配内存上限,这个上限一般是你运行内存大小

memory.size(F)查看已使用内存memory.limit()查看内存上限

虽然我分配了虚拟内存,但内存上限依旧是我的内存条内存大小。

于是我就调整了系统分配给R的内存上限

memory.limit(新上限)

例如我一在R命令行中执行命令memory.limit() ,返回值是8138,(即内存上限8138MB);于是我在R命令窗输入memory.limit(18138).之后又执行了一下我要跑的代码。哈哈完美运行

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171227G0ATA600?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券