2013-12-12 14 views
8

Rのgc()のすべてのメッセージを抑制する可能性はありますか?gc()の出力を抑制する

通常のようにsuppressWarnings(gc())またはsuppressMessages(gc())は機能しません。 gc()自体はverboseオプションを持っていますが、これは私がそれを好きどのように動作していない:事前に

> gc(verbose=TRUE) 
Garbage collection 375 = 234+40+101 (level 2) ... 
17.9 Mbytes of cons cells used (41%) 
171.2 Mbytes of vectors used (43%) 
used (Mb) gc trigger (Mb) max used (Mb) 
Ncells 334493 17.9  818163 43.7 818163 43.7 
Vcells 22431904 171.2 52178020 398.1 50193465 383.0 
> gc(verbose=FALSE) 
used (Mb) gc trigger (Mb) max used (Mb) 
Ncells 334496 17.9  818163 43.7 818163 43.7 
Vcells 22431916 171.2 52178020 398.1 50193465 383.0 

感謝を!私は時々invisible(gc())を使用

ベスト

、 ルーベン

+2

'gc'を呼び出す唯一の理由は、その出力を見ることだけです。 Hadleyが書いているように、「gc()を自分自身で呼び出すことは決してありません。使用されているメモリの量を確認してください。 http://adv-r.had.co.nz/memory.htmlを参照してください。 – Aaron

+1

@Aaron: '?gc'で続きました:" _しかし、大きなオブジェクトが削除された後にgcを呼び出すと便利ですRがオペレーティングシステムにメモリを返すように促すかもしれません。 "特に、私はa)速度を比較するタイミング関数と、b)より大きいスプレッドシートに' read.xlsx'を使うときに使用します。そのようなオブジェクトを読み込んだ後に 'gc()'がなければメモリのオーバーフローが発生します。 – MichaelChirico

答えて

18

がかかります。

+0

私の「きれいでない」アプローチよりもずっと優れています。つまり、 'mygc <-function(...)invisible(gc(...)) 'と書くことができます。 –

+0

は完璧に動作します。ありがとう! – DrewsRM

0

きれいではありませんが、

foo <- gc();rm foo 

はそれの世話

関連する問題