इसे छोड़कर कंटेंट पर जाएं

Memory Manager और Windows सिस्टम cache: paging, page combining और lazy write

इस पृष्ठ पर

संक्षिप्त उत्तर

Section titled “संक्षिप्त उत्तर”

इस श्रृंखला में पेजिंग, समान पृष्ठों के संयोजन, कर्नेल हीप और फ़ाइल कैश के सात पैरामीटर जाँचे गए। Windows 11 25H2 में इनमें से प्रत्येक के पठन कोड की खोज की गई। व्यावहारिक लाभ पैरामीटर और परिचालन स्थितियों पर निर्भर करता है।

DisablePageCombining पृष्ठभूमि में समान पृष्ठों के संयोजन को अक्षम करता है: मेमोरी प्रबंधक यह कार्य करना बंद कर देता है, लेकिन RAM की खपत बढ़ सकती है। DisablePagingExecutive ड्राइवरों के अनलोड होने योग्य कोड को भौतिक मेमोरी में बनाए रखता है; लाभ आमतौर पर कम होता है। शेष पैरामीटर केवल कर्नेल या संग्रहण उपकरणों के विशिष्ट कार्यों पर लागू होते हैं या 25H2 में पहले से ही उपयुक्त डिफ़ॉल्ट मान रखते हैं।

प्रत्येक मान के लिए जाँचा गया:

  1. रजिस्ट्री में सटीक पथ और प्रकार;
  2. Windows 11 25H2 कोड द्वारा निर्धारित डिफ़ॉल्ट मान;
  3. उसी उपप्रणाली के संबंधित मान;
  4. सिस्टम पठन कोड और उसके निष्पादन का क्षण;
  5. सीमा प्रतिबंध, मान रूपांतरण और माप की इकाइयाँ;
  6. सीधा प्रभाव और लागू होने की सीमाएँ।

पठन कोड के अतिरिक्त हमने जाँचा कि पैरामीटर कहाँ लागू होता है, उसके परिवर्तन के क्या परिणाम होते हैं और किन परिदृश्यों में यह उपयोगी हो सकता है। अनुशंसा के लिए केवल पैरामीटर का होना पर्याप्त नहीं है।

अनुसंधान का क्षेत्र और प्रमाण

Section titled “अनुसंधान का क्षेत्र और प्रमाण”
  • Windows 11 25H2 x64, build 26200.9168।
  • कर्नेल पैरामीटर ntoskrnl.exe की मुख्य कॉन्फ़िगरेशन तालिका और Memory Manager तथा Cache Manager में उनके अनुप्रयोग कोड से मिलाए गए।
  • रनटाइम के दौरान अभिगमन की जाँच सिस्टम रजिस्ट्री ट्रेसिंग से की गई। फेज़ 0 और फेज़ 1 की शुरुआत में पठन सामान्य बूट ट्रेस में अनुपस्थित हो सकते हैं: ट्रेसिंग ड्राइवर बाद में रिकॉर्डिंग शुरू करता है।
  • उपयोगकर्ता प्रक्रियाओं के लिए ntdll.dll में मान का पठन अलग से जाँचा गया। HeapDeCommitFreeBlockThreshold के लिए 25H2 में कर्नेल में पठन पाया गया, लेकिन उपयोगकर्ता प्रक्रियाओं के हीप इस पैरामीटर का उपयोग नहीं करते।
  • सिस्टम घटकों का स्थिर विश्लेषण भौतिक PC, अन्य build या अन्य प्रकार के संग्रहण उपकरण पर पुनरावृत्ति का विकल्प नहीं है।
Registry path Value Type Default Windows 11 25H2 अनुप्रयोग
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management DisablePagingExecutive REG_DWORD 0 सिस्टम ड्राइवरों के pageable कोड की पेजिंग
वही पथ DisablePageCombining REG_DWORD 0 समान भौतिक पृष्ठों का पृष्ठभूमि संयोजन
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager HeapDeCommitFreeBlockThreshold REG_DWORD 0x1000 (4 KB) kernel heap के लिए kernel-mode heap के मुक्त ब्लॉकों की decommit सीमा
वही पथ ModifiedWriteMaximum REG_DWORD 1 इकाई = 1 MB clamp के बाद modified page writer की ऊपरी सीमा
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management EnableAsyncLazywrite REG_DWORD 2 Cache Manager का अतुल्यकालिक मोड
वही पथ CacheUnmapBehindLengthInMB REG_DWORD 8 MB अनुक्रमिक पठन के पीछे unmap की विंडो
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Kernel SplitLargeCaches REG_DWORD 0 processor groups के बीच cache topology का निरूपण

0 पर Windows मेमोरी प्रबंधक सिस्टम कोड और ड्राइवरों के अनुमति देने वाले अनुभागों को बैकअप संग्रहण में अनलोड कर सकता है। 1 पर सिस्टम ड्राइवरों का अनलोड होने योग्य कोड भौतिक मेमोरी में बनाए रखा जाता है।

पठन कोड ntoskrnl.exe में कर्नेल आरंभीकरण के प्रारंभिक चरण में पाया गया। मान का उपयोग MmResetDriverPaging, MmPageEntireDriver और सिस्टम इमेज लोड करते समय किया जाता है। यह सामान्य उपयोगकर्ता रजिस्ट्री ट्रेसिंग शुरू होने से पहले लागू होता है। नई स्थिति लागू करने के लिए पुनः आरंभ आवश्यक है।

  • 0: Windows की मानक स्थिति, पेजिंग की अनुमति है।
  • 1: सिस्टम ड्राइवरों के अनलोड होने योग्य अनुभाग RAM में बनाए रखे जाते हैं।
  • यह सेटिंग RAM खर्च करती है ताकि सिस्टम कोड की बाद की लोडिंग को मेमोरी में कम किया जा सके; डिस्क स्वयं तेज़ नहीं होती।

यह सेटिंग इन ड्राइवर अनुभागों के बाद के अनलोड और लोड को रोकती है। यह CPU के किसी अलग स्थायी सत्यापन थ्रेड को अक्षम नहीं करती। पर्याप्त RAM वाले आधुनिक सिस्टम पर लाभ आमतौर पर बहुत कम होता है: सेटिंग के बिना भी कोड लंबे समय तक मेमोरी में रह सकता है। RAM की कमी होने पर इसका जबरन बनाए रखना मेमोरी की कमी को बढ़ाता है।

पैरामीटर का पठन और सिस्टम प्रभाव की दिशा ntoskrnl.exe के कोड से पुष्ट है।

0 पर मेमोरी प्रबंधक एक पृष्ठभूमि कार्य शुरू करता है जो समान भौतिक पृष्ठों को खोजता और संयोजित करता है। 1 पर यह कार्य संयोजन नहीं करता।

ntoskrnl.exe में पूल-टैग MmCb के साथ पृष्ठभूमि पृष्ठ संयोजन का कोड पाया गया, जो तंत्र की उपस्थिति की पुष्टि करता है।

  • 0: पृष्ठ संयोजन की अनुमति है, Windows की मानक स्थिति।
  • 1: संयोजन अक्षम है।
  • अक्षम करना मेमोरी प्रबंधक के पृष्ठभूमि कार्य को कम करता है, लेकिन RAM की खपत बढ़ा सकता है।

अक्षम करना तब उपयोगी है जब पृष्ठ संयोजन ध्यान देने योग्य पृष्ठभूमि भार बनाता हो और सिस्टम में मुक्त RAM हो। आमतौर पर यह कार्य कम सक्रिय रहता है, इसलिए प्रभाव बहुत छोटा होता है। सीमित मेमोरी होने पर संयोजन से बची RAM, बचाए गए प्रोसेसर समय से अधिक उपयोगी होती है।

पठन कोड और पृष्ठभूमि कार्य ntoskrnl.exe में पुष्ट है। Microsoft पृष्ठ संयोजन और प्रोसेसर कार्य तथा RAM बचत के बीच समझौते का वर्णन करता है।

यह मान कर्नेल हीप के मुक्त ब्लॉक के लिए आवंटित मेमोरी की मुक्ति (decommit) की सीमा निर्धारित करता है। बड़ी सीमा पर बड़े मुक्त ब्लॉकों के लिए ऐसी क्रियाएँ कम बार होती हैं।

Windows 11 25H2 में पठन कोड ntoskrnl.exe में है, और पैरामीटर का अनुप्रयोग कर्नेल फ़ंक्शन RtlCreateHeap से संबंधित है। ntdll.dll में सामान्य प्रक्रियाओं के हीप के लिए संबंधित पठन कोड नहीं पाया गया।

  • कर्नेल हीप के कोड में डिफ़ॉल्ट मान: 0x1000 (4 KB)।
  • 0x40000 (256 KB) कर्नेल हीप के लिए स्वीकार्य सीमा है।
  • Microsoft के ऐतिहासिक दस्तावेज़ों ने Windows के पुराने संस्करणों के समान नाम वाले user-mode परिदृश्य का वर्णन किया था, इसलिए इसे स्वतः Windows 11 25H2 पर लागू नहीं किया जा सकता।

सामान्य अनुप्रयोगों के लिए व्यावहारिक रूप से कोई लाभ नहीं है: उनके हीप इस मान का उपयोग नहीं करते। पैरामीटर केवल कर्नेल हीप में मेमोरी मुक्ति की आवृत्ति बदल सकता है। उसी से जुड़ी मापी गई समस्या के बिना अपेक्षित प्रभाव बहुत कम है।

कर्नेल मोड में पठन ntoskrnl.exe में पुष्ट है। 25H2 में उपयोगकर्ता प्रक्रियाओं के लिए प्रभाव पुष्ट नहीं है।

यह पैरामीटर परिवर्तित पृष्ठों के लेखन तंत्र (modified page writer) के लिए ऊपरी सीमा निर्धारित करता है। कोड में 256 पृष्ठों की इकाइयाँ उपयोग होती हैं, अर्थात एक इकाई 1 MB के बराबर है।

Windows 11 25H2 में सामान्यीकरण:

  • 0 को 1 इकाई में परिवर्तित किया जाता है, अर्थात 1 MB;
  • 0x40 से बड़े मान 0x40 तक सीमित किए जाते हैं;
  • अधिकतम प्रभावी सीमा 64 MB, या 16 384 पृष्ठ है।

तंत्र निर्धारित सीमा के लगभग एक चौथाई पर सक्रिय लेखन शुरू करता है। सीमा बढ़ाने से लेखन शुरू होने का क्षण और संचित परिवर्तित पृष्ठों की मात्रा बदलती है। इससे डिस्क की गति स्वयं नहीं बढ़ती।

बड़ी सीमा पर सक्रिय लेखन शुरू होने से पहले अधिक परिवर्तित पृष्ठ संचित होते हैं। लेखन कम बार शुरू हो सकता है, लेकिन अभी तक सहेजे न गए डेटा की मात्रा और अगले लेखन भाग का आकार बढ़ता है। यदि लेखन से जुड़ी कोई विशिष्ट समस्या न हो, तो डिफ़ॉल्ट मान रखें। प्रभावी सीमा 64 MB तक सीमित है।

पठन कोड, माप की इकाइयाँ और सीमा प्रतिबंध ntoskrnl.exe में पुष्ट हैं। BitLocker पर Microsoft के पुराने दस्तावेज़ों का समान नाम वाला पैरामीटर किसी अन्य उपप्रणाली से संबंधित है; ये दस्तावेज़ यहाँ स्रोत के रूप में उपयोग नहीं किए गए हैं।

EnableAsyncLazywrite और संबंधित मान

Section titled “EnableAsyncLazywrite और संबंधित मान”

EnableAsyncLazywrite Cache Manager की अतुल्यकालिक विलंबित लेखन को नियंत्रित करता है। 25H2 के कोड में डिफ़ॉल्ट मान 2 निर्धारित है: यह मोड पहले से सक्षम है।

उसी उपप्रणाली के संबंधित मान:

Value Default 25H2 भूमिका
EnableAsyncLazywrite 2 सामान्य async lazy-write mode
EnableAsyncLazywriteMulti 2 निकटवर्ती multi-volume मोड
EnablePerVolumeLazyWriter 2 Per-volume lazy writer

0 अतुल्यकालिक विलंबित लेखन को अक्षम करता है। 1 के लिए प्रत्येक वॉल्यूम पर अलग विलंबित लेखन हैंडलर मोड आवश्यक है। 2 इस आवश्यकता के बिना अतुल्यकालिक मोड सक्षम करता है। Cache Manager वॉल्यूम कॉन्फ़िगरेशन के साथ काम करते समय मान पुनः पढ़ता है।

2 का स्पष्ट लेखन Windows 11 25H2 की मानक कॉन्फ़िगरेशन को दोहराता है और अतिरिक्त रूप से कुछ भी बेहतर नहीं करता। यह सेटिंग मुख्यतः निदान के लिए उपयुक्त है: मान 0 डिफ़ॉल्ट रूप से चल रहे तंत्र को अक्षम करने देता है।

पठन सिस्टम ट्रेसिंग में देखा गया और ntoskrnl.exe में पुष्ट है। डिफ़ॉल्ट मान 2 कोड और रिवर्स इंजीनियरिंग के परिणामों के आधार पर बनाए गए रजिस्ट्री पैरामीटरों के स्वतंत्र विवरण से पुष्ट है।

यह पैरामीटर मेगाबाइट में वह दूरी निर्धारित करता है जिसके बाद Cache Manager अनुक्रमिक पठन की वर्तमान स्थिति के पीछे बचे कैश किए गए निरूपणों को मुक्त करता है।

पैरामीटर का पठन और अनुप्रयोग कोड ntoskrnl.exe में है और कैश के मैपिंग तथा पठन पर कॉल किया जाता है। पैरामीटर बड़ी फ़ाइलों के अनुक्रमिक पठन से संबंधित है; यह पूरे फ़ाइल कैश को अक्षम नहीं करता।

  • 0 या 128 से बड़ा मान कोड द्वारा 8 से बदल दिया जाता है।
  • कार्यशील सीमा: 1..128 MB।
  • कोड डिफ़ॉल्ट: 8 MB।
  • Registry value की इकाइयाँ वास्तव में MB हैं, बाइट्स नहीं।

पैरामीटर का अर्थ केवल बड़ी फ़ाइलों के अनुक्रमिक पठन के विशेष कार्यों के लिए है। बड़ी विंडो पर वर्तमान स्थिति के पीछे कैश का निरूपण अधिक समय तक बना रहता है, छोटी पर पहले मुक्त हो जाता है। सामान्य कार्य के लिए मानक मान 8 MB उपयुक्त है; मैन्युअल सेटिंग का लाभ आमतौर पर कम होता है।

पठन, अनुप्रयोग और सीमा प्रतिबंध का कोड ntoskrnl.exe में पुष्ट है। इस आंतरिक पैरामीटर के लिए Microsoft का आधुनिक सार्वजनिक दस्तावेज़ नहीं मिला।

0 पर कैश टोपोलॉजी का वर्णन करने वाला API संबंधित संरचना के लिए एकल प्रविष्टि लौटाता है जो कई प्रोसेसर समूहों को समाहित करती है। 1 पर प्रविष्टियाँ प्रोसेसर समूहों के अनुसार विभाजित होती हैं।

पठन कोड ntoskrnl.exe में है। पैरामीटर का उपयोग KeQueryLogicalProcessorRelationship में संबंध RelationCache को संसाधित करते समय किया जाता है।

केवल वही टोपोलॉजी विवरण बदलता है जो सिस्टम API लौटाता है। आवंटित भौतिक मेमोरी ब्लॉक विभाजित नहीं होते, और सतत ब्लॉक की कमी की संभावना स्वयं कम नहीं होती।

  • 0: डिफ़ॉल्ट मान।
  • 1: टोपोलॉजी प्रविष्टियों को प्रोसेसर समूहों के अनुसार विभाजित करें।
  • व्यावहारिक प्रभाव मुख्यतः कई प्रोसेसर समूहों वाले सिस्टम पर संभव है, आमतौर पर 64 से अधिक लॉजिकल प्रोसेसर होने पर।
  • सामान्य एकल-समूह सिस्टम पर कोई प्रभाव नहीं होता।

पैरामीटर केवल उन प्रोग्रामों के लिए आवश्यक है जो कई प्रोसेसर समूहों वाली मशीन पर कैश टोपोलॉजी का अनुरोध करते हैं। यह कैश के कार्य और मेमोरी आवंटन को नहीं बदलता। सामान्य डेस्कटॉप कंप्यूटर के लिए कोई लाभ नहीं है।

पठन और अनुप्रयोग का कोड ntoskrnl.exe में पुष्ट है। मान और उद्देश्य KiSplitLargeCaches के सार्वजनिक रिवर्स इंजीनियरिंग विवरण से मिलाए गए।

सामान्य उपयोगिता

Section titled “सामान्य उपयोगिता”
पैरामीटर व्यावहारिक मूल्यांकन
DisablePagingExecutive आमतौर पर बहुत कम लाभ देता है, अधिक कोड RAM में बनाए रखते हुए
DisablePageCombining पृष्ठभूमि पृष्ठ संयोजन के पुष्ट भार और बड़े RAM भंडार पर उपयोगी
HeapDeCommitFreeBlockThreshold केवल कर्नेल में कार्य करता है; सामान्य अनुप्रयोगों के लिए व्यावहारिक लाभ नहीं
ModifiedWriteMaximum परिवर्तित पृष्ठों के लेखन की शर्तें बदलता है; पहचानी गई समस्या के बिना मानक मान रखें
EnableAsyncLazywrite मानक मान 2 पहले से तंत्र को सक्षम करता है; पुनः लेखन कुछ भी बेहतर नहीं करता
CacheUnmapBehindLengthInMB अनुक्रमिक पठन की सेटिंग; मानक 8 MB सामान्य कार्य के लिए उपयुक्त हैं
SplitLargeCaches कई प्रोसेसर समूहों के लिए टोपोलॉजी विवरण बदलता है; सामान्य सिस्टम पर कोई प्रभाव नहीं

क्या पुष्ट हुआ और क्या मापा नहीं गया

Section titled “क्या पुष्ट हुआ और क्या मापा नहीं गया”

ऊपर बताए गए पथ, प्रकार, डिफ़ॉल्ट मान, पैरामीटरों का पठन कोड और क्षण, तथा सीमा प्रतिबंध पुष्ट हैं। परिणाम Windows 11 25H2 build 26200.9168 से संबंधित हैं। Windows के अन्य अपडेट, RAM की मात्रा, संग्रहण उपकरण के प्रकार या CPU टोपोलॉजी पर व्यवहार भिन्न हो सकता है।

अवलोकनों के गतिशील भाग को कैसे दोहराया जाए — देखें स्वयं कैसे जाँचें।

स्थिति की पुनर्स्थापना

Section titled “स्थिति की पुनर्स्थापना”

वापस लौटने के लिए पैरामीटरों के मानक मान बहाल करें या वैकल्पिक प्रविष्टियाँ हटा दें। कुछ मान Windows के अगले बूट पर लागू होते हैं।

अनुसंधान और उसमें उपयोग किए गए उपकरण BoosterX के डेवलपर के हैं, इसलिए डेवलपर का परिणामों में सीधा हित है। कार्यप्रणाली और लागू होने की सीमाएँ इस लेख में वर्णित हैं; निष्कर्ष खुले डेटा और नीचे सूचीबद्ध सार्वजनिक स्रोतों से सत्यापित किए जा सकते हैं।

सार्वजनिक स्रोत

Section titled “सार्वजनिक स्रोत”

कोड के बारे में दावे Windows 11 25H2 के सिस्टम घटकों के स्थिर विश्लेषण से पुष्ट हैं। डीकंपाइल किया गया कोड, ऑफ़सेट, मूल ट्रेस और आंतरिक सामग्री प्रकाशित नहीं की जाती।

सार्वजनिक स्रोत जाँचे गए: 2026-09-02।

परिवर्तन इतिहास

Section titled “परिवर्तन इतिहास”
  • 2026-09-20: हितों के टकराव के बारे में डिस्क्लेमर और कार्यप्रणाली में गतिशील अवलोकनों की स्वतंत्र जाँच का लिंक जोड़ा गया।
  • 2026-09-02: पहला प्रकाशन; पथ, defaults, clamps और पैरामीटरों का पठन कोड पुष्ट किए गए, व्यावहारिक उपयोगिता की सीमाएँ जोड़ी गईं।