linux - रथम - Chroot गतिशील पुस्तकालयों स्मृति उपयोग कैसे प्रभावित करता है?




राजस्थान में पुस्तकालय का विकास (2)

जब मैं इसे सेट करता हूं, मैंने केवल पढ़ने के लिए माउंट को जोड़ने के बजाय साझा की गई पुस्तकालयों को प्रति कुरकुरा प्रतिलिपि बना दिया। अलग फ़ाइलों के साथ, पाठ सेगमेंट साझा नहीं किए गए थे ऐसा प्रतीत होता है कि एक ही आइडीए एक ही पठन-केवल पाठ सेगमेंट को मैप करेगा, लेकिन यह उपलब्ध स्मृति प्रबंधन हार्डवेयर और इसी तरह के स्थापत्य विवरण के साथ अलग-अलग हो सकता है।

अपने सिस्टम पर इस प्रयोग की कोशिश करें: एक छोटा सा प्रोग्राम लिखें जो एक बड़े साझा लाइब्रेरी के कुछ न्यूनतम उपयोग करता है। आपके वर्णन के अनुसार बीस या तीस साल की जेलों को चलाने के लिए, प्रत्येक कार्यक्रम की चलती प्रतिलिपि के साथ। चलने के दौरान और समय के पहले समग्र स्मृति उपयोग की जांच करें, और एक अच्छा टेक्स्ट / डेटा खंड टूटने के लिए एक उदाहरण काटना। यदि मेमोरी उपयोग प्रत्येक आवृत्ति के लिए मानचित्र के पूर्ण आकार से बढ़ता है, तो खंड साझा नहीं किए जाते हैं। इसके विपरीत, यदि मेमोरी का उपयोग नक्शे के एक अंश से बढ़ता है, तो खंड साझा होते हैं।

यद्यपि समान विषय के साथ एक और सवाल है , लेकिन यह जरूरी नहीं कि जेल में साझा पुस्तकालयों द्वारा मेमोरी उपयोग को कवर नहीं करता है।

मान लें कि हमारे पास कुछ समान chroots हैं अधिक विशिष्ट होने के लिए, बाइनरी फ़ाइलों और साझा लाइब्रेरी के ठीक उसी सेट जो वास्तव में डिस्क प्रतिलिपि को संरक्षित करने के लिए मास्टर प्रतियों के लिए कठिन लिंक हैं (फाइल सिस्टम की संभावित संभावना को रोकने के लिए फ़ाइल सिस्टम को केवल पढ़ने के लिए माउंट किया गया है)।

ऐसी स्थापना में स्मृति उपयोग कैसे प्रभावित होता है?


क्योंकि हार्डलिंक एक ही अंतर्निहित आयनोड साझा करते हैं, जब कैशिंग / मैपिंग की बात आती है तो कर्नेल उन्हें एक ही आइटम के रूप में व्यवहार करता है।

आपको हार्ड-लिंक का उपयोग करके फाइलसिस्टम कैश बचत, साथ ही डिस्क-स्पेस बचत दिखाई देगी।

मेरे साथ सबसे बड़ा मुद्दा यह है कि अगर किसी ने कुचले वातावरण में से किसी एक की केवल-पढ़ने वाली प्रकृति को तोड़ने का प्रबंधन किया है, तो वे कड़ी लिंक्ड फ़ाइलों में से कोई भी बदलाव करके सभी को मिटा सकते हैं





chroot