2013-12-12 24 views
8

R'de tüm gc() mesajlarını bastırma olasılığı var mı?gc() 'deki baskıyı kaldır

Her zamanki gibi suppressWarnings(gc()) veya suppressMessages(gc()) çalışmıyor. Hoşuma nasıl gc() kendisi verbose seçeneği vardır ancak bu olmuyor: önceden

> 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 

Teşekkür! Bazen invisible(gc()) kullanmak

En

, Ruben

+2

Bu biraz garip görünüyor, çünkü 'gc' diye adlandırılan tek neden, çıktıyı görmektir. Hadley'in yazdığı gibi, "ne kadar bellek kullanımda olduğunu görmek dışında gc() 'yi aramanın hiçbir zaman bir anlamı yoktur. R, daha fazla alana ihtiyaç duyduğunda, çöp toplama işlemini otomatik olarak çalıştırır." Bkz. Http://adv-r.had.co.nz/memory.html – Aaron

+1

@ Aaron: '? Gc': ile devam ettikçe: '_However, büyük bir nesne kaldırıldıktan sonra gc'yi çağırmak yararlı olabilir. R'yi, işletim sistemi için belleğe döndürmesini isteyebilir. "Özellikle, ben bir a iken kullanıyorum.) hızı karşılaştırmak için zamanlama işlevleri ve b) büyük e-tablolar için" read.xlsx "kullanırken - Bu tür nesnelerde okunduktan sonra gc() 'yi kullanmadan bellek sorunları taşar. – MichaelChirico

cevap

18

alacaktır.

+0

Benim "hoş değil" yaklaşımından çok daha iyi. Her zaman sarılabilir, yani 'mygc <-function (...) görünmez (gc (...))' –

+0

Mükemmel çalışır. Teşekkürler! – DrewsRM

0

hoş değildi, ama

foo <- gc();rm foo 

icabına