标签: tps ace 应该 reference big err 无法 注意 hive

这几天训练模型运行代码的时候,老是提示我说:Error: cannot allocate vector of size 88.1 Mb,只知道分配空间不足。

下面是查资料看到的一些回答:

一、这个是R的特点,有几个解决方法:
1.升级到R3.3.0及以上版本,对内存的管理和矩阵计算好太多。在R3.2.5上能死机的计算,在R3.3.0以上就能运行很好。
2.加载一些R语言磁盘缓存包,搜一搜吧
3.写代码的时候适当加一些清理内存的命令。
4.应该跑多线程了吧。
5.加内存作用有限。在R3.2.5上能把服务器跑死机,服务器是44核,512G内存。优化一下代码很有必要。

二、有的时候加内存条也不能解决大数据量多的需求,采用parallel计算策略吧,如果数据一次性读入也不行,可配合filematrix包,分次从硬盘读数据,不过这会慢很多。

三、R里面找到那个参数,有个地方是改最大分配内存的,在Preference之类的地方。

四、下载一个Package叫bigmemory。里面重新为大的数据集构建了类,在处理大数据集的功能上(包括几十GB)基本上是最前沿的。

链接为cran.r-project.org/web/packages/bigmemory/

五、bigmemory包是可以的。另外还提供了另外两种选择,mapReduce和RHIPE(使用Hadoop),也可以处理大数据集。

六、大神指导(http://bbs.pinggu.org/thread-3682816-1-1.html),cannot allocate vector就是典型的数据太大读不了

方法有三
一、升级硬件
二、改进算法
三、修改操作系统分配给R的内存上限, memory.size(T)查看已分配内存

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

memory.limit()查看内存上限

object.size()看每个变量占多大内存。
memory.size()查看现在的work space的内存使用
memory.limit()查看系统规定的内存使用上限。

如果现在的内存上限不够用,可以通过memory.limit(newLimit)更改到一个新的上限。注意,在32位的R中,封顶上限为4G,无法在一个程序上使用超过4G (数位上限)。这种时候,可以考虑使用64位的版本。

详细可参考此篇,非常棒https://blog.csdn.net/sinat_26917383/article/details/51114265

1 http://jliblog.com/archives/276

2 http://cos.name/wp-content/uploads/2011/05/01-Li-Jian-HPC.pdf

3 R 高性能计算和并行计算 http://cran.r-project.org/web/views/HighPerformanceComputing.html

如果遇到这个问题,大家可以对应试试解决方案,方法还不错哦~

Error: cannot allocate vector of size 88.1 Mb问题

标签: tps ace 应该 reference big err 无法 注意 hive

原文地址:https://www.cnblogs.com/babyfei/p/9565143.html

本文实例讲述了ThinkPHP提示错误Fatal error : Allowed memory size 的解决方法。分享给大家供大家参考。具体分析如下: 如果你的ThinkPHP提示你:致命错误(Fatal error : Allowed memory size ),根据网上说的提高服务器可使用内存,我觉得都不是好的解决办法。麻烦也没必要。因为这是ThinkPHP本身存在BUG。 错误提示:Fatal error : Allowed memory size of 1073741824 bytes exhausted (tried to allocate 523800 bytes) in  /var/w 写R程序的人,相信都会遇到过“cannot allocate vector of size ”或者“无法分配大小为…的矢量”这样的错误。原因很简单,基本都是产生一个大矩阵等对象时发生的,最干脆的解决办法有两种,第一种是加大内存换64位系统,第二种是改变算法避免如此大的对象。第一种办法,是最好的办法,不过大对象的需求是没有止尽的,终究不是长久之道。第二种办法是最好的思路,无论多么大的对象都是可以弄小的... 最近要处理蛮大的数据。结果这个数据放到R中,却出现了内存不够的 问题 。 关于计算机的基础的知识,是我一直以来的薄弱项。 我现在拥有足够的精力和时间,所以,我希望能够认真解决这个 问题 。 解决方法,并没有想象的那么复杂。 在要处理的大数据的代码前,添加gc() 即如下所示: coverage_cutoff <- 3 coverage_percentage <- 0.2 cell_percentage <- 0.2 artefact_percentage <- 0.03 gc() #. 大神指导(http://bbs.pinggu.org/thread-3682816-1-1.html) cannot allocate vector 就是典型的数据太大读不了 一、升级硬件 二、改进算法 三、修改操作系统分配给R的内存上限, memory. 使用R语言时,经常会出现cannot allocate vector of size ***这样的错误,例如,我今天就出现了下面这个错误。 Error : cannot allocate vector of size 1.9 Gb R语言在处理小数据是很爽,但当碰到一个模型产生了一个很大的 Vector 就很麻烦了,这时就有可能内存不够。因此需要进行内存管理。 查看当前设置下最大内存 查看当前设置... object. size ()看每个变量占多大内存。 memory. size ()查看现在的work space的内存使用 memory.limit()查看系统规定的内存使用上限。如果现在的内存上限不够用,可以通过memory.limit(newLimit)更改到一个新的上限... GIANTteacher 是地球上最大的在线培训服务。 他们拥有高度优化的培训交付系统,可以同时处理 10,000,000 次培训课程。 培训课程都以个人的唯一数字为键。 Nu mb erPool 的工作是充当一种负载平衡器,在学生出现学习时尽快从该池中分配数字。 绝对不能同时给两个学生编号。 否则,培训过程将受到影响,学生将体验不到完美的学习。 当学生完成他们的培训后,他们可以将他们的唯一号码放回池中供未来的学生使用。 安装和测试 git clone https://github.com/seank-com/Nu mb erPool.git Nu mb erPool cd Nu mb erPool git pull node Nu mb erPool.tests.js (可选)此存储库。 如果你知道如何使用 wget,你就不需要我的帮助来安装。 (正在考虑 npm install,请参阅下面的未来 内存分配【参考】http://www.biostatistic.net/thread-3302-1-1.html【OS】1. 当前设置下操作系统能分配给R的最大内存      memory. size (NA)  or  memory.limit()2. 查看当前R已使用的内存      memory. size (F)   查看已分配的内存  memory. size (T)3. 扩大分配的内存      ...