繁体   English   中英

R脚本耗尽内存 - Microsoft HPC群集

[英]R script exhausting memory - Microsoft HPC Cluster

我有一个带有以下源代码的R脚本:

genofile<-read.table("D_G.txt", header=T, sep=',')
genofile<-genofile[genofile$"GC_SCORE">0.15,]
cat(unique(as.vector(genofile[,2])), file="GF_uniqueIDs.txt", sep='\n')

D_G.txt是一个巨大的文件,大约5 GBytes。

现在,计算是在Microsoft HPC集群上执行的,因此,正如您所知,当我提交作业时,它会在不同的物理节点上“分裂”; 在我的情况下,每个人都有4 GB的RAM内存。

好吧,经过一段可变的时间后,我得到了臭名昭着的错误cannot allocate vector of size xxx Mb消息的cannot allocate vector of size xxx Mb 我试过使用限制可用内存的开关:

--max-memory=1GB

但没有变化。

我已经尝试了Rscript 2.15.0 32和64位没有运气。

事实上,您的数据集应该适合一个节点的内存并不意味着在对它进行分析时也意味着它适合内存。 通常,分析会导致数据复制。 此外,您身边的一些低效编程也可能会增加内存使用量。 设置开关和限制R的内存使用只会让事情变得更糟。 它不限制实际的内存使用量,它限制了最大内存使用量。 使用32位操作系统总是有点想法,因为使用32位操作系统的单个进程可以寻址的最大内存小于4 GB。

没有更多细节,很难再帮助您解决这个问题。 一般情况下,我建议将数据集剪切成越来越小的部分,直到成功为止。 我假设您的问题令人尴尬地平行,并且进一步切割数据集不会改变输出。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM