作者f496328mm (为什麽会流泪)
看板R_Language
标题[问题] R背景记忆体使用量控制
时间Sat Jul 30 17:58:00 2016
想问怎麽控制R在背景记忆体使用量(开工作管理员看到的RAM使用量)
我开R studio ,看到我目前的变数size都不会太多,总共加起来不到10mb
但是工作管理员的R却占超过2GB
可能是运算过程产生的? 有没有办法删除 ?
我目前在做8千万笔的DATA,大慨3GB,
目前用bigmemory读进去,R studio显示size不到1mb
我不知道到底是谁在後面占用我的ram
想问问看有没有什麽指令可以看到
这是变数占的size 和我的工作管理员
http://imgur.com/DrljpW3
-------------------------------------
code:
map=find_map_fun(train_data[,2],1111)
#train_data有8千万笔
find_map_fun=function(data,num){
bo=as.integer( data==num )
bo_matr=matrix(bo)
map=which(apply(bo_matr, 1L,
function(row) all(row == 1)))
return(map)
}
---------------------------------------------
目前光做这件事,就让背景ram飙到2gb了
function中的变数不是执行完就会自动删除吗?
到底是谁在背後占空间@@
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.231.227.128
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1469872682.A.A21.html
1F:推 andrew43: gc() 一下有效吗? 07/30 18:31
有耶 全杀掉了 好方便的指令 谢谢
2F:→ andrew43: 其实冗余的记忆体只有在不够的时候才会清掉。gc()只是 07/30 21:32
3F:→ andrew43: 手动这个步骤而已。只要你ram够用,应该不用手动。 07/30 21:33
因为接下来可能会面临到记忆体控管问题,所以趁现在学一些小技巧
RAM够,但是看到小小的程式就要花这麽多RAM,有点担心哈哈
※ 编辑: f496328mm (36.231.227.128), 07/30/2016 22:39:18