एकमात्र सलाह जो मैं आपको दे सकता हूं, मैग्ली()/mlockall() .. का सावधानीपूर्वक उपयोग है, जबकि बग्गी गुब्बारे ड्राइवरों की तलाश में।
उदाहरण के लिए, यदि एक ज़ेन अतिथि 1 जीबी के साथ बूट किया गया है, तो 512 एमबी तक नीचे घुमाया गया है, यह बहुत विशिष्ट है कि विशेषाधिकार प्राप्त डोमेन ने यह नहीं देखा कि पैरावार्च्यूलाइज्ड कर्नेल वास्तव में प्रक्रियाओं (यानी Committed_AS) को कितना स्मृति दे रहा था। दरअसल, ज़ेन के साथ, जब तक यह मूल्य ज़ेनबस पर नहीं रखा जाता है, विशेषाधिकार प्राप्त मेजबान को पता नहीं होता कि ऐसा गुब्बारा क्या करेगा। मेरा मानना है कि कर्नेल को कॉन्फ़िगर करने के तरीके के आधार पर यह भी केवीएम के साथ मेल खाता है .. लेकिन आपका प्रश्न यह मानता है कि हम ऐसी चीजों के बारे में कुछ भी नहीं जानते :)
तो, सामान की रक्षा करें (सावधान रहें, लेकिन समझदार) जो बस नहीं हो सकता 'आकाश गिर रहा है' परिदृश्य के लिए हमेशा खाते हैं।
इसी तरह, पीवी कर्नेल को बताने के लिए posix_fadvise()/posix_madvise() का उपयोग करें कि आप कितना करते हैं या बफरिंग की आवश्यकता नहीं है हमेशा एक अच्छा विचार है।
इसके अलावा, आप बहुत कम कर सकते हैं .. क्योंकि आप केवल पैरावार्च्यूलाइज्ड कर्नेल से बात कर रहे हैं, जिसे पहली जगह वर्चुअलाइजेशन के लिए प्रक्रियाओं को अनजान बनाने के लिए डिज़ाइन किया गया है।
मैं KVM का उपयोग नहीं करता (अभी तक), हालांकि मैं भविष्य में इसे और अधिक जानने की योजना बना रहा हूं। हालांकि, 9 0% सामान जिन्हें मैं हाल ही में लिख रहा हूं विशेष रूप से पैरावार्च्यूलाइज्ड ज़ेन मेहमानों पर चलाने के लिए डिज़ाइन किया गया है। क्षमा करें एक छोटे से एक्सईएन/सी केंद्रित हो सकता है, लेकिन जहां मेरे अनुभव है और pv_ops मुख्य लाइन में है कि (जल्द ही यह भी एक्सईएन -0 ऑप्स) :)
अच्छा सवाल है, btw :)
संपादित करें:
जब मैंने 'सावधान लेकिन समझदार' कहा, मेरा मतलब रूढ़िवादी से एक कदम था। यदि आपका प्रोग्राम कुछ नौकरी संरचना आवंटित करता है जो अधिकांश कार्यों की आवश्यकता है, तो इसे लॉक करें। यदि आपके आवंटित बफर बड़ी फ़ाइलों को पढ़ने के लिए हैं, तो उन्हें लॉक न करें .. और सुनिश्चित करें कि कर्नेल को यह जानने के लिए posix_fadvise() को कॉल करना है कि आप केवल एक बार पहुंचने का इरादा रखते हैं (यदि ऐसा है)। साथ ही, कर्नेल को मेमोरी मैप की गई फ़ाइलों के उपयोग पर सलाह देना सुनिश्चित करें, खासकर यदि वे समेकन को व्यवस्थित करने के लिए सेवा करते हैं।
संक्षेप में, मदद आपके मेजबान कर्नेल स्मृति प्रबंधन, न दें महत्वपूर्ण आवंटित ब्लॉकों गंदा पेजिंग में फेंक दिया हो, यह न मानें कि अपने कार्यक्रम सब कुछ ताला लगा यह आवंटित :)
द्वारा किसी और चीज से ज्यादा महत्वपूर्ण है अस्पष्टता के लिए खेद है। सबसे अच्छा वाक्यांश जो मैं साथ आ सकता था वह 'सावधान, लेकिन समझदार' था।
+1, लेकिन, "(सावधान रहें, लेकिन समझदार)"? आपका क्या अर्थ है? वे व्यावहारिक रूप से समानार्थी हैं ... –
व्याख्या करने के लिए संपादित :) –
+ 1. कार्य: "इस लेखन के रूप में (2.6.21) लिनक्स को याद नहीं है एक खुली फ़ाइल के लिए POSIX_FADV_DONTNEED सलाह। यह सलाह दी जाती है जब सलाह दी जाती है, और जब यह अनुपालन नहीं कर सकती है तो यह सलाह भूल जाती है। इसलिए यह सुनिश्चित करने के लिए कि लिनक्स अनुपालन कर सकता है। " –
VolkerK