2011-08-05 11 views
17

मैं IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP और IMAGE_FILE_NET_RUN_FROM_SWAP पीई झुकाव को मेरे निष्पादन योग्य में शामिल करने के बारे में सोच रहा हूं।क्या IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP या IMAGE_FILE_NET_RUN_FROM_SWAP से जुड़े जोखिम हैं?

विचार नेटवर्क से निष्पादन योग्य चलाने वाले ग्राहकों द्वारा कभी-कभी अपवादों को रोकने के लिए है, उदाहरण के लिए जब नेटवर्क वॉल्यूम नींद के बाद पुनः कनेक्ट करने में विफल रहता है। अब तक हमने हमेशा ग्राहकों को स्थानीय रूप से जुड़े वॉल्यूम से निष्पादन योग्य चलाने की सलाह दी है।

हालांकि, मुझे वर्चुअल मेमोरी, लोडर इत्यादि के बारे में पर्याप्त जानकारी नहीं है, यह जानने के लिए कि क्या, यदि कोई है, तो इन पीई झंडे का उपयोग करने से जुड़े जोखिम हैं।

उदाहरण के लिए, यदि मैं ऐसा करता हूं तो मेरे निष्पादन योग्य द्वारा अधिक भौतिक स्मृति का उपभोग किया जाएगा, विशेष रूप से यदि एक ही समय में निष्पादन योग्य चलाने के कई उदाहरण हैं?

मुझे खेद है कि मैं संभावित जोखिमों के अधिक उदाहरण नहीं दे सकता, लेकिन यह मेरे प्रश्न की प्रकृति है। मुझे एहसास है कि ऐसा करने के लिए डाउनसाइड्स हो सकता है लेकिन यह नहीं पता कि उन डाउनसाइड्स क्या हो सकते हैं।

+0

इसे ठंडा प्रारंभ धीमा करना चाहिए क्योंकि पूरे EXE को पेजिंग फ़ाइल में कॉपी किया गया है। कोई विचार नहीं है कि विंडोज पेजों को साझा करने के लिए पर्याप्त स्मार्ट है, तो मुझे इसमें संदेह है। प्रक्रिया एक्सप्लोरर आपको बताएगा, निजी बाइट्स देखें। –

+0

@ हंस क्या EXE लोड पर पेजिंग फ़ाइल में कॉपी किया गया है, या पेजों को सिर्फ तभी कॉपी किया गया है जब वे बाहर निकले हैं? और मुझे निजी बाइट्स की व्याख्या कैसे करनी चाहिए? मैं वास्तव में वर्चुअल मेमोरी के कामकाज से डरावना हूँ। –

+0

पेज-इन ऑपरेशन समस्या है, पेज-आउट नहीं। तो हाँ, सभी पृष्ठों की प्रतिलिपि बनाई जानी चाहिए ताकि उन्हें बाद में पग किया जा सके। निजी बाइट्स वीएम की मात्रा है जो तेज नहीं है। पेज त्रुटियों के कारण –

उत्तर

11

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

पीई झंडे इसे बदलते हैं। यदि शर्तें संतुष्ट हैं, तो निष्पादन योग्य लॉक नहीं है और बदल सकता है/गायब हो सकता है। इसका मतलब है कि वीएमएम को स्टार्टअप पर भी अपने सभी पृष्ठों को रैम या स्वैप में रखना होगा। यह बहुत सारी प्रतिलिपि और रैम का उपयोग है, लेकिन नतीजतन नेटवर्क की हानि पेज-इन दोषों का कारण नहीं बनती है। और जब रैम कम हो, पृष्ठों को त्याग दिया नहीं जा सकता है लेकिन स्वैप में सहेजा जाना है।

विशेष रूप से, ये झंडे काम करते हैं और केवल शर्तों को संतुष्ट करते हैं। IMAGE_FILE_NET_RUN_FROM_SWAP उन ऐप्स को प्रभावित नहीं करता है जो स्थानीय रूप से चलाए जाते हैं। तो रैम/स्वैप में कीमत का भुगतान करने वाले एकमात्र ग्राहक वे हैं जो चुनते हैं।

+1

आपके उत्तर के लिए धन्यवाद। मेरे परीक्षण इंगित करते हैं कि निष्पादन योग्य लॉक है। नेटवर्क वॉल्यूम से बाहर होने पर मैं इसे हटा नहीं सकता। क्या कई उदाहरण चलने पर भौतिक स्मृति उपयोग पर असर पड़ता है? मुझे लगता है कि पेजों को अभी भी विभिन्न प्रक्रियाओं के बीच साझा नहीं किया जाता है। अगर मैं आपको सही ढंग से समझता हूं तो केवल प्रदर्शन निष्पादन यह है कि यदि ओएस कुछ निष्पादन योग्य को बाहर करने का निर्णय लेता है, तो यह है कि उन पृष्ठों को आसानी से त्यागने के बजाए स्वैप करने के लिए कॉपी किया गया है। –

+2

@ डेविडहेफरन छवि को लोड समय पर स्वैप करने के लिए कॉपी किया गया था, पेज-आउट समय पर नहीं। (यह ध्वज का बिंदु है, आखिरकार।) उन्हें पेज-आउट समय पर छोड़ दिया जाता है, क्योंकि स्वैप में पहले से ही एक सुरक्षित प्रति है। –

+0

धन्यवाद @ रेमंड। मुझे लगता है कि मैं अब काफी मुद्दों को समझता हूं।मूल रूप से मेरी समस्या यह है कि वर्चुअल मेमोरी सिस्टम की मेरी समझ अपूर्ण है। मुझे अपनी विंडोज़ आंतरिक पुस्तकें खोदनी चाहिए और ब्रश करना होगा। –

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