看板 R_Language 關於我們 聯絡資訊
想問怎麼控制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://www.ptt.cc/bbs/R_Language/M.1469872682.A.A21.html
andrew43: gc() 一下有效嗎? 07/30 18:31
有耶 全殺掉了 好方便的指令 謝謝
andrew43: 其實冗餘的記憶體只有在不夠的時候才會清掉。gc()只是 07/30 21:32
andrew43: 手動這個步驟而已。只要你ram夠用,應該不用手動。 07/30 21:33
因為接下來可能會面臨到記憶體控管問題,所以趁現在學一些小技巧 RAM夠,但是看到小小的程式就要花這麼多RAM,有點擔心哈哈 ※ 編輯: f496328mm (36.231.227.128), 07/30/2016 22:39:18