मैं अपने रेल ऐप में प्रोफाइल मेमोरी उपयोग के लिए GC.stat
का उपयोग कर रहा हूं। GC.stat
रिटर्न निम्नलिखित कुंजी के साथ एक हैश:रूबी के जीसी.स्टैट के क्षेत्र क्या हैं?
:count
:heap_used
:heap_length
:heap_increment
:heap_live_num
:heap_free_num
:heap_final_num
किसी को भी पता है कि वास्तव में इन मूल्यों को क्या मतलब है? रुबी स्रोत (gc.c) में उनके बारे में कोई दस्तावेज नहीं है, केवल एक टिप्पणी है: "हैश की सामग्री कार्यान्वित की गई है और भविष्य में बदला जा सकता है।"
इनमें से कुछ फ़ील्ड संदर्भ से समझ में आते हैं, उदा। count
रूबी आवंटित ढेर की संख्या है। लेकिन heap_final_num
क्या है? heap_increment
क्या है? heap_length
न्यूनतम ढेर आकार है?
मैं RUBY_MIN_HEAP_SLOTS
, RUBY_FREE_MIN
और RUBY_GC_MALLOC_LIMIT
के साथ नगण्य कर रहा हूँ, लेकिन उन env वार्स बदलते :heap_count
या :heap_length
पर कोई असर दिखाई नहीं देता। मैं उम्मीद करता हूं कि :heap_count
नीचे जायेगा यदि मैं मूल रूप से न्यूनतम ढेर स्लॉट बढ़ाता हूं। तो मैं वास्तव में जानना चाहता हूं कि सभी GC.stat
मूल्यों का प्रतिनिधित्व क्या है!
मैं रूबी 1.9.3 का उपयोग कर रहा हूं।
इस जवाब में दी गई जानकारी accurate..see नहीं है [इस पोस्ट] (http://samsaffron.com/archive/2013/11/22/demystifying-the-ruby-gc) सही उत्तर के लिए। – tihom