दिलचस्प पोस्ट
जावास्क्रिप्ट में जेएसटीएल वैरिएबल वैल्यू कैसे सेट करें? पीएचपी: मैं किसी फाइल में सीधे यूआरएल एक्सेस कैसे रोक सकता हूं, लेकिन फिर भी इसे उपयोगकर्ताओं द्वारा लॉग इन करके डाउनलोड करने की अनुमति दे सकता है? Google API तक पहुंच – GoogleAccountCredential.usingOAuth2 बनाम GoogleAuthUtil.getToken () कैसे फेसबुक चैट विंडो लागू कर रहे हैं? सी में वैश्विक चर स्थिर है या नहीं? सीएसएस के साथ ब्लॉक तत्वों के क्रम को बदलना एक HTTP प्रतिक्रिया शीर्षक में सामग्री-स्वभाव का उपयोग सुंदर सूप को सीएसएस वर्ग नहीं मिल सकता है यदि ऑब्जेक्ट में अन्य वर्ग भी हैं क्या आप SQL सर्वर में मुद्रा या दशमलव (एक्स, वाई) डाटाटेप्स चुनना चाहिए? जावा और .नेट प्रौद्योगिकियों / चौखटे के एनालॉग MySQL में "संपूर्ण शब्द मिलान" खोजें Android WebView शैली पृष्ठभूमि-रंग: पारदर्शी Android 2.2 पर ध्यान नहीं दिया println! त्रुटि: प्रारूप तर्क एक स्ट्रिंग शब्दशः होना चाहिए के बीच अंतर । और: लुआ में क्या मुझे घोषणा या कंस्ट्रक्टर पर इंस्टेंस चर को इन्स्तांत करना चाहिए?

मोंगोद द्वारा उपयोग किए जाने वाले कैशिंग को कैसे रिलीज करना है?

Mongodb मेमोरी मैप फ़ाइल का उपयोग करते हैं, जब मैं एक लंबे समय का उपयोग करता हूं, तो मुझे लगता है कि मुफ्त मेमोरी ने कमांड 'फुक-एम' से उबंटू में कम छोड़ा है और कैशिंग बहुत उपयोग करते हैं। फिर Mongodb को मारना कैशिंग अभी भी बहुत खर्च है? मैं कैशिंग कैसे रिहा कर सकता हूं?

Solutions Collecting From Web of "मोंगोद द्वारा उपयोग किए जाने वाले कैशिंग को कैसे रिलीज करना है?"

मोंगोडीबी बहुत कम उपलब्ध स्मृति का उपयोग करने के लिए (कम से कम लगता है), लेकिन यह वास्तव में ओएस के वीएमएम को छोड़कर इसे स्मृति को रिलीज करने के लिए कहता है (देखें मोंगो डीबी डॉक्स में कैशिंग ।)

आप MongoDB को पुनरारंभ करके किसी भी और सभी स्मृति को रिलीज़ करने में सक्षम होना चाहिए

हालांकि, कुछ हद तक MongoDB वास्तव में स्मृति का प्रयोग नहीं कर रहा है

उदाहरण के लिए MongoDB दस्तावेज़ से सर्वर मेमोरी उपयोग की जांच …

मंच पर निर्भर करते हुए आप मैप की गई फ़ाइलों को प्रक्रिया में मेमोरी के रूप में देख सकते हैं, लेकिन यह कड़ाई से सही नहीं है। यूनिक्स टॉप वास्तव में उपयुक्त की तुलना में mongod के लिए रास्ता और अधिक स्मृति दिखा सकता है ऑपरेटिंग सिस्टम (विशेषकर वर्चुअल मेमोरी मैनेजर, ओएस पर निर्भर करता है) मेमोरी का प्रबंधन करती है जहां "मेमरी मेपेड फाइलें" रहते हैं। यह संख्या आमतौर पर "फ्री -एलएमटी" जैसे किसी कार्यक्रम में दिखाई जाती है

इसे "कैश्ड" मेमोरी कहा जाता है

मोंगोडीबी एलआरयू ( कम हाल ही में प्रयुक्त ) कैश एल्गोरिथ्म का उपयोग करता है, यह निर्धारित करने के लिए कि कौन सा "पेज" रिलीज करने के लिए आपको इन दो सवालों में कुछ और जानकारी मिल जाएगी …

  • MongoDB सीमा मेमोरी
  • MongoDB इंडेक्स / रैम रिलेशनशिप
  • मोंगोड मेमोरी सीमा के साथ शुरू होता है (आप नहीं कर सकते ।)

3.2 में शुरू, मोंगोडीबी वायर्ड टाइगर को डिफॉल्ट स्टोरेज इंजन के रूप में उपयोग करता है। पिछला संस्करणों ने MMAPv1 को डिफ़ॉल्ट संग्रहण इंजन के रूप में प्रयोग किया था।

वायर्ड टाइगर के साथ, मोंगोडीबी दोनों वायर्ड टाइगर आंतरिक कैश और फाइल सिस्टम कैश का इस्तेमाल करता है। MongoDB 3.2 में, WiredTiger आंतरिक कैश, डिफ़ॉल्ट रूप से, या तो बड़ा होगा: 60% से कम रैम शून्य 1 जीबी, या 1 जीबी। 10 जीबी रैम तक की व्यवस्था के लिए, नई डिफ़ॉल्ट सेटिंग 3.0 डिफ़ॉल्ट सेटिंग से कम या उससे कम होती है (मोंगोडीबी 3.0 के लिए, वायर्ड-टाइगर आंतरिक कैश या तो 1 जीबी या स्थापित भौतिक RAM का आधा, जो भी बड़ा है) का उपयोग करता है। 10 जीबी से अधिक रैम वाले सिस्टम के लिए, नई डिफ़ॉल्ट सेटिंग 3.0 सेटिंग से अधिक है।


wiredTriggered कैश को सीमित करने के लिए निम्न पंक्ति को .config फ़ाइल में जोड़ें:

वायर्डटाइगरकैशसिसेज GB = 1

मेरी समस्या क्या थी:

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

डेटा हटाए जाने से पहले स्मृति की स्थिति:

[रूट @ आईपी-172-31-1-173 लॉग] # फ्री -एम कुल मुफ्त में साझा किए गए बफ / कैश का इस्तेमाल किया मेम: 15630 11462 146 732 4021 3207 स्वैप: 0 0 0

हटाए गए डेटा के बाद मेमोरी की स्थिति:

[रूट @ आईपी-172-31-1-173 मोंगो] # फ्री -एम कुल मुफ्त में साझा किए गए शौकीन / कैश का इस्तेमाल किया मेम: 15630 5849 5234 788 4545 8763 स्वैप: 0 0 0

वायर्ड टाइगर के साथ, मोंगोडीबी दोनों वायर्ड टाइगर आंतरिक कैश और फाइल सिस्टम कैश का इस्तेमाल करता है।

संस्करण 3.2 में बदल दिया गया: मोंगोडीबी 3.2 में शुरू हो रहा है, वार्ड-टाइगर आंतरिक कैश, डिफ़ॉल्ट रूप से, या तो बड़ा होगा:

 60% of RAM minus 1 GB, or 1 GB. 

10 जीबी रैम तक की व्यवस्था के लिए, नई डिफ़ॉल्ट सेटिंग 3.0 डिफ़ॉल्ट सेटिंग से कम या उससे कम होती है (मोंगोडीबी 3.0 के लिए, वायर्ड-टाइगर आंतरिक कैश या तो 1 जीबी या स्थापित भौतिक RAM का आधा, जो भी बड़ा है) का उपयोग करता है।

10 जीबी से अधिक रैम वाले सिस्टम के लिए, नई डिफ़ॉल्ट सेटिंग 3.0 सेटिंग से अधिक है।

फाइलसिस्टम कैश के माध्यम से, MongoDB स्वचालित रूप से सभी निशुल्क मेमोरी का उपयोग करता है जिसका उपयोग वायर्ड-टाइगर कैश या अन्य प्रक्रियाओं द्वारा नहीं किया जाता है। फाइल सिस्टम कैश में डेटा संकुचित है।

उपयोग की जाने वाली कैश के आकार को बनाए रखने के लिए अपने ऐतिहासिक डेटा को साफ करते समय आपको डेटाबेस की मरम्मत भी करनी होगी।