गो टूल पीप्रोफ़ और डॉकर आंकड़ों के बीच मेमोरी उपयोग विसंगति
गो 1.11 का उपयोग करते समय, आपको गो द्वारा रिपोर्ट की गई मेमोरी उपयोग में विसंगति का सामना करना पड़ सकता है टूल pprof (runtime.MemStats.sys) और डॉकर आँकड़े। डॉकर आँकड़े मेमोरी उपयोग की जानकारी प्राप्त करने के लिए cgroups पर निर्भर करते हैं, जिसमें पेज कैश और रेजिडेंट सेट साइज़ (RES) शामिल हैं। दूसरी ओर, pprof मेमोरी उपयोग के लिए फ़ज़ मान प्रदर्शित करता है, जिससे दोनों के बीच सीधे तुलना करना मुश्किल हो जाता है।
cgroups मेमोरी उपयोग को समझना
cgroups एक तरीका प्रदान करते हैं एक कंटेनर के भीतर संसाधन उपयोग को सीमित और ट्रैक करने के लिए। Cgroups मेंuse_in_bytes मीट्रिक में प्रक्रिया द्वारा उपयोग की गई मेमोरी और कैश्ड मेमोरी दोनों शामिल हैं। यदि कोई कंटेनर होस्ट सिस्टम से फ़ाइलें पढ़ता है, तो कर्नेल द्वारा कैश की गई मेमोरी को भी उपयोग_इन_बाइट्स में गिना जाएगा। मेमोरी सीमा, डॉकर अप्रयुक्त मेमोरी को पुनः प्राप्त करने का प्रयास करता है। यह OOM त्रुटि के विपरीत है, जो तब होती है जब सभी मेमोरी का उपयोग किया गया हो।
मेमोरी उपयोग को सीमित करने के तरीके
डॉकर कंटेनर के मेमोरी उपयोग को नियंत्रित करने के लिए, docker run कमांड में या mem_limit का उपयोग करके docker-compose.yml फ़ाइल में मेमोरी सीमा निर्दिष्ट कर सकते हैं पैरामीटर।
निष्कर्ष
पीप्रोफ और डॉकर आंकड़ों के बीच मेमोरी उपयोग रिपोर्टिंग में विसंगति मेमोरी उपयोग को मापने के विभिन्न तरीकों से उत्पन्न होती है। cgroups, जैसा कि docker आँकड़ों द्वारा उपयोग किया जाता है, अपनी गणना में फ़ाइल कैश मेमोरी को शामिल करता है, जबकि pprof कैश के लिए लेखांकन के बिना फ़ज़ मान प्रस्तुत करता है। सीग्रुप के माध्यम से मेमोरी सीमा को प्रबंधित करके, आप अपने कंटेनरों में अनियंत्रित मेमोरी वृद्धि को रोक सकते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3