[問題] R背景記憶體使用量控制

看板R_Language作者 (為什麼會流淚)時間9年前 (2016/07/30 17:58), 9年前編輯推噓1(102)
留言3則, 1人參與, 最新討論串1/1
想問怎麼控制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

07/30 18:31, , 1F
gc() 一下有效嗎?
07/30 18:31, 1F
有耶 全殺掉了 好方便的指令 謝謝

07/30 21:32, , 2F
其實冗餘的記憶體只有在不夠的時候才會清掉。gc()只是
07/30 21:32, 2F

07/30 21:33, , 3F
手動這個步驟而已。只要你ram夠用,應該不用手動。
07/30 21:33, 3F
因為接下來可能會面臨到記憶體控管問題,所以趁現在學一些小技巧 RAM夠,但是看到小小的程式就要花這麼多RAM,有點擔心哈哈 ※ 編輯: f496328mm (36.231.227.128), 07/30/2016 22:39:18
文章代碼(AID): #1Nd7egeX (R_Language)
文章代碼(AID): #1Nd7egeX (R_Language)