2016-02-12 8 views
12

कोई भी जानता है कि मैं नोडजेस में --trace-gc विकल्प के आउटपुट के बारे में कहां पढ़ सकता हूं?nodejs कचरा संग्रह आउटपुट

मैं जीसी कैसे काम करता है इस बारे में कोई स्पष्टीकरण नहीं मांग रहा हूं, क्योंकि इसके बारे में बहुत सारी जानकारी है, केवल --trace-gc के आउटपुट के लिए।

मुझे लगता है कि कुछ क्षेत्रों का अर्थ क्या है लेकिन मुझे कुछ अन्य लोगों के बारे में कोई जानकारी नहीं है।

उदाहरण के लिए

:

  • क्या कोष्ठक में दिए अंक का अर्थ है,
  • "चरण" (यह वृद्धिशील निशान से संबंधित हो सकता & आलसी झाडू)
  • के आकार meaining लिखा गया ढेर कुल ढेर है? (जोड़ने युवा और वृद्ध क्षेत्रों)
  • ...

एक उदाहरण:

[12994] 77042 ms: Scavenge 260.7 (298.1) -> 247.7 (298.1) MB, 9.4 ms [allocation failure]. 
[12994] 77188 ms: Scavenge 261.7 (298.1) -> 249.0 (300.1) MB, 7.4 ms [allocation failure]. 
[12994] 77391 ms: Scavenge 263.8 (301.1) -> 250.6 (302.1) MB, 8.1 ms [allocation failure]. 
[12994] 77511 ms: Scavenge 264.8 (302.1) -> 251.8 (304.1) MB, 7.4 ms [allocation failure]. 
[12994] 77839 ms: Scavenge 273.4 (304.1) -> 260.7 (305.1) MB, 8.3 ms (+ 55.7 ms in 201 steps since last GC) [allocation failure]. 
[12994] 78052 ms: Scavenge 274.3 (305.1) -> 261.9 (307.1) MB, 8.2 ms (+ 54.4 ms in 192 steps since last GC) [allocation failure]. 
[12994] 78907 ms: Scavenge 277.3 (308.1) -> 264.2 (309.1) MB, 10.1 ms (+ 51.5 ms in 196 steps since last GC) [allocation failure]. 
[12994] 80246 ms: Mark-sweep 272.2 (310.1) -> 82.9 (310.1) MB, 45.2 ms (+ 195.4 ms in 690 steps since start of marking, biggest step 1.2 ms) [GC interrupt] [GC in old space requested]. 
[12994] 80868 ms: Scavenge 99.3 (310.1) -> 85.5 (310.1) MB, 6.5 ms [allocation failure]. 
[12994] 81039 ms: Scavenge 100.2 (310.1) -> 86.8 (310.1) MB, 6.9 ms [allocation failure]. 
[12994] 81455 ms: Scavenge 102.2 (310.1) -> 88.8 (310.1) MB, 5.5 ms [allocation failure]. 

अद्यतन

फ़ाइल है कि उत्पादन बनाता है को देखते हुए (mtth द्वारा suggesteed के रूप में) , यदि कोई दिलचस्पी लेता है तो मैं सभी क्षेत्रों में स्पष्टीकरण जोड़ रहा हूं:

[12994] 77042 ms: Scavenge 260.7 (298.1) -> 247.7 (298.1) MB, 9.4 ms [allocation failure]. 
[pid] <time_since_start> : 
     <Phase> <heap_used_before (old+young)> (<allocated_heap_before>) -> 
       <heap_used_after (old+young)> (<allocated_heap_after>) MB, 
       <time_spent_gc> [<reason_of_gc>] 

साथ ही जब कोई वृद्धिशील वर्ष अंतरिक्ष gcs (पूर्ण) के बीच अंकन किया गया है, यह सफाई का पता लगाने में प्रकट होता है, इस तरह:

(+ <incremental_time_duration> ms in <incremental_marking_steps> steps since last GC) 

ट्रेस एक पुराने अंतरिक्ष gcs (पूर्ण) से मेल खाती है है, यह सबसे बड़ी चरण अवधि भी दिखाता है।

यह निशान 0.12.9 NodeJS के अनुरूप है, और वे NodeJS 4.2.2

उत्तर

6

प्रलेखन के सबसे करीब मैं मिल सकता है the source of the function that generates the output है में कम से कम एक जैसे दिखते हैं। gc-tracer.h में टिप्पणियों का उपयोग करके, हम यह समझ सकते हैं कि प्रत्येक प्रविष्टि का क्या अर्थ है। उदाहरण के लिए:

  • क्या कोष्ठक में दिए अंक के अर्थ

कोष्ठक के अंदर संख्या कुल स्मृति ओएस से आवंटित का प्रतिनिधित्व करता है (और एक से पहले कुल स्मृति है ढेर में वस्तुओं के लिए इस्तेमाल किया)।

+0

पर्याप्त से अधिक, मैं प्रत्येक फ़ील्ड के अर्थ के साथ प्रश्न अपडेट कर दूंगा। बहुत बहुत धन्यवाद। – richardtz

+0

अच्छी व्याख्या –

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