2013-12-12 6 views
8

के आउटपुट को दबाएं क्या आर में जीसी() के सभी संदेशों को दबाने की संभावना है?जीसी()

सामान्य 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 

अग्रिम धन्यवाद!

बेस्ट, रूबेन

+2

यह थोड़ा अजीब लगता है, क्योंकि 'जीसी' को कॉल करने का एकमात्र सामान्य कारण उस आउटपुट को देखना है। जैसा कि हैडली लिखते हैं, "जीसी() स्वयं को कॉल करने में कभी भी कोई बात नहीं है, यह देखने के लिए कि कितनी मेमोरी उपयोग में है। आर स्वचालित रूप से कचरा संग्रह को कॉल करेगा जब भी इसे और अधिक जगह चाहिए।" Http://adv-r.had.co.nz/memory.html – Aaron

+1

@Aaron: जैसा कि 'gc' में जारी रखा गया है:" _ हालांकि, बड़ी वस्तु को हटा दिए जाने के बाद जीसी को कॉल करना उपयोगी हो सकता है, क्योंकि यह ऑपरेटिंग सिस्टम में मेमोरी वापस करने के लिए आर को संकेत दे सकता है ._ "विशेष रूप से, जब मैं ए हूं तो मैं इसका उपयोग करता हूं) गति की तुलना करने के लिए समय कार्य और बी) बड़े स्प्रेडशीट्स के लिए' read.xlsx' का उपयोग करते समय - मैंने भाग लिया है ऐसी वस्तुओं में पढ़ने के बाद 'जीसी()' के बिना मेमोरी ओवरफ्लो की समस्याएं। – MichaelChirico

उत्तर

18

ले जाएगा।

+0

मेरे "सुंदर नहीं" दृष्टिकोण से काफी बेहतर है। हमेशा इसे लपेट सकता है, यानी 'mygc <-function (...) अदृश्य (जीसी (...)) ' –

+0

सही काम करता है। धन्यवाद! – DrewsRM

0

सुंदर नहीं है, लेकिन

foo <- gc();rm foo 

मैं कभी कभी invisible(gc()) का उपयोग यह की देखभाल

संबंधित मुद्दे