最近项目涉及到无法无法分配大小为558.9 Mb的矢量的解决办法的问题,具体解决方法如下:
首先检查当前的内存限制
memory.limit()
1600#表示当前只有1.6M的内存分配的能力重新设置内存限制
memory.limit(1000000)
这次设置约为1G内存,然后问题就解决了,虽然设置是1G,但是实际的使用会远超1G,我在使用过程中16G内存几乎被吃完,网页都打不开,所以做生物信息还需要高配置
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位的版本。