2013-02-11 36 views
5

क्या बैश कचरा कलेक्टर चलाता है? क्या इसे कुछ कमांड लाइन विकल्पों के माध्यम से नियंत्रित किया जा सकता है? मुझे इसके बारे में नेट पर कुछ भी नहीं मिला।बश में कचरा संग्रह

मेरे पास एक बैश स्क्रिप्ट है जो कुछ दिनों तक चलता है और इसकी स्मृति उपयोग बढ़ जाती है। मैं जानना चाहता हूं कि स्मृति कहां जा रही है।

+0

मुझे यकीन है कि यह नहीं है, लेकिन मैं उत्सुक हूं कि आप क्यों पूछते हैं। –

+0

बैश को एकत्र करने की आवश्यकता क्या है? यह अन्य प्रक्रियाओं को चलाता है, और समाप्त होने के बाद उन्हें वापस लाता है। आपके द्वारा सेट किए गए चर आपकी ज़िम्मेदारी हैं। – vanza

+0

@vanza: तो क्या किसी को किसी भी तरह की चर की सफाई करनी चाहिए जब उन्हें आवश्यकता न हो? – sashang

उत्तर

6

बैश इस तरह कचरा कलेक्टर नहीं चलाता है। चूंकि इसमें संदर्भों की कोई अवधारणा नहीं है, इसलिए संदर्भों के बिना डेटा खोजने की आवश्यकता नहीं है। हालांकि, यह मुफ्त स्मृति अब उपयोग में नहीं है।

यहां एक बड़े चर को घोषित करने और ओवरराइट करने से पहले और बाद में स्मृति उपयोग का एक सरल प्रदर्शन है। मेमोरी उपयोग फिर से नीचे चला जाता है:

ps -o rss -p $$ 
var=$(printf "%s\n" {1..100000}) 
ps -o rss -p $$ 
var="smallstring" 
ps -o rss -p $$