Windows atmiņas pārvaldnieks un sistēmas kešatmiņa: paging, page combining un lazy write
Šajā lapā
Īsā atbilde
Section titled “Īsā atbilde”Šajā sērijā pārbaudīti septiņi parametri, kas saistīti ar lapošanu, identisku lapu apvienošanu, kodola kaudzēm un failu kešatmiņu. Windows 11 25H2 ir atrasts katra no tiem nolasīšanas kods. Praktiskā lietderība ir atkarīga no parametra un darbības apstākļiem.
DisablePageCombining izslēdz fonu lapu apvienošanu: atmiņas pārvaldnieks pārstāj veikt šo darbu, taču RAM patēriņš var pieaugt. DisablePagingExecutive notur izlādējamu draiveru kodu fiziskajā atmiņā; lietderība parasti ir maza. Pārējie parametri ir piemērojami tikai atsevišķiem kodola vai diskdzinis uzdevumiem, vai arī 25H2 jau ir piemērotas noklusējuma vērtības.
Kas tika pārbaudīts
Section titled “Kas tika pārbaudīts”Katram parametram tika pārbaudīts:
- precīzs ceļš reģistrā un tips;
- noklusējuma vērtība, ko nosaka Windows 11 25H2 kods;
- saistītās tās pašas apakšsistēmas vērtības;
- sistēmas nolasīšanas kods un tā izpildes brīdis;
- diapazona ierobežojumi, vērtību pārveide un mērvienības;
- tiešā ietekme un piemērojamības robežas.
Papildus nolasīšanas kodam mēs pārbaudījām, kur parametrs tiek lietots, kādas sekas ir tā maiņai un kādos scenārijos tā var būt noderīga. Ar pašu parametra esamību nepietiek, lai sniegtu ieteikumu.
Pētījuma joma un pierādījumi
Section titled “Pētījuma joma un pierādījumi”- Windows 11 25H2 x64, build
26200.9168. - Kodola parametri salīdzināti ar galveno konfigurācijas tabulu
ntoskrnl.exeun to piemērošanas kodu Memory Manager un Cache Manager. - Piekļuves darbības laikā tika pārbaudītas ar sistēmas reģistra izsekošanu. Nolasījumi 0. fāzē un 1. fāzes sākumā var nebūt redzami parastā sāknēšanas izsekā: izsekošanas draiveris sāk ierakstīšanu vēlāk.
- Lietotāja procesiem atsevišķi tika pārbaudīta vērtības nolasīšana
ntdll.dll.HeapDeCommitFreeBlockThreshold25H2 ir atrasta nolasīšana kodolā, taču lietotāja procesu kaudzes šo parametru neizmanto. - Sistēmas komponentu statiskā analīze neaizstāj atkārtojumu fiziskā datorā, citā build vai citā diskdziņa tipā.
Kanoniskie parametri
Section titled “Kanoniskie parametri”| Registry path | Value | Type | Default Windows 11 25H2 | Piemērošana |
|---|---|---|---|---|
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management |
DisablePagingExecutive |
REG_DWORD |
0 |
Sistēmas draiveru lapojamā koda paging |
| tas pats ceļš | DisablePageCombining |
REG_DWORD |
0 |
Fonu identisku fizisko lapu apvienošana |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager |
HeapDeCommitFreeBlockThreshold |
REG_DWORD |
0x1000 (4 KB) kernel heap |
Brīvo kernel-mode heap bloku decommit slieksnis |
| tas pats ceļš | ModifiedWriteMaximum |
REG_DWORD |
1 vienība = 1 MB |
Modified page writer augšējā robeža pēc clamp |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management |
EnableAsyncLazywrite |
REG_DWORD |
2 |
Cache Manager asinhronais režīms |
| tas pats ceļš | CacheUnmapBehindLengthInMB |
REG_DWORD |
8 MB |
Unmap logs aiz secīgas lasīšanas |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Kernel |
SplitLargeCaches |
REG_DWORD |
0 |
Cache topology attēlojums starp processor groups |
DisablePagingExecutive
Section titled “DisablePagingExecutive”Ko tas dara
Section titled “Ko tas dara”Ar 0 Windows atmiņas pārvaldnieks var izlādēt tās sistēmas koda un draiveru sadaļas, kas to pieļauj, rezerves krātuvē. Ar 1 izlādējamais sistēmas draiveru kods tiek noturēts fiziskajā atmiņā.
Nolasīšanas kods atrasts ntoskrnl.exe agrīnā kodola inicializācijas posmā. Vērtība tiek izmantota MmResetDriverPaging, MmPageEntireDriver un sistēmas attēlu ielādes laikā. Tā tiek piemērota agrāk, nekā sākas parastā lietotāja reģistra izsekošana. Lai piemērotu jauno stāvokli, nepieciešama restartēšana.
Vērtības un ierobežojumi
Section titled “Vērtības un ierobežojumi”0: Windows standarta stāvoklis, lapošana atļauta.1: izlādējamās sistēmas draiveru sadaļas tiek noturētas RAM.- Iestatījums patērē RAM, lai saīsinātu turpmākās sistēmas koda ielādes atpakaļ atmiņā; pats disks nestrādā ātrāk.
Lietderība
Section titled “Lietderība”Iestatījums novērš šo draiveru sadaļu turpmāku izlādēšanu un ielādi. Tas neizslēdz atsevišķu pastāvīgu CPU pārbaudes pavedienu. Mūsdienu sistēmā ar pietiekamu RAM apjomu lietderība parasti ir ļoti maza: kods arī bez iestatījuma var ilgi palikt atmiņā. Ja RAM trūkst, tā piespiedu noturēšana pastiprina atmiņas deficītu.
Parametra nolasīšana un sistēmas efekta virziens apstiprināti ar ntoskrnl.exe kodu.
DisablePageCombining
Section titled “DisablePageCombining”Ko tas dara
Section titled “Ko tas dara”Ar 0 atmiņas pārvaldnieks palaiž fona uzdevumu, kas meklē un apvieno identiskas fiziskās lapas. Ar 1 šis uzdevums neveic apvienošanu.
ntoskrnl.exe atrasts fonu lapu apvienošanas kods ar pool tag MmCb, kas apstiprina mehānisma esamību.
Vērtības un ierobežojumi
Section titled “Vērtības un ierobežojumi”0: lapu apvienošana atļauta, Windows standarta stāvoklis.1: apvienošana izslēgta.- Izslēgšana samazina atmiņas pārvaldnieka fonu darbu, taču var palielināt RAM patēriņu.
Lietderība
Section titled “Lietderība”Izslēgšana ir noderīga, ja lapu apvienošana rada ievērojamu fonu slodzi un sistēmai ir brīva RAM. Parasti šis uzdevums ir mazaktīvs, tāpēc efekts ir ļoti neliels. Ja atmiņas apjoms ir ierobežots, RAM ietaupījums no apvienošanas ir lietderīgāks par ietaupīto procesora laiku.
Nolasīšanas un fona uzdevuma kods apstiprināts ntoskrnl.exe. Microsoft apraksta lapu apvienošanu un kompromisu starp procesora darbu un RAM ietaupījumu.
HeapDeCommitFreeBlockThreshold
Section titled “HeapDeCommitFreeBlockThreshold”Ko tas dara
Section titled “Ko tas dara”Vērtība nosaka atbrīvotās atmiņas (decommit) slieksni brīvam kodola kaudzes blokam. Pie lielāka sliekšņa šādas operācijas lieliem brīviem blokiem notiek retāk.
Windows 11 25H2 nolasīšanas kods atrodas ntoskrnl.exe, un parametra piemērošana ir saistīta ar kodola funkciju RtlCreateHeap. ntdll.dll atbilstošs nolasīšanas kods parasto procesu kaudzēm nav atrasts.
Vērtības un ierobežojumi
Section titled “Vērtības un ierobežojumi”- Noklusējuma vērtība kodolā kaudzes kodā:
0x1000(4 KB). 0x40000(256 KB) ir pieļaujams slieksnis kodola kaudzei.- Vēsturiskie Microsoft dokumenti aprakstīja tāda paša nosaukuma user-mode scenāriju vecākās Windows versijās, tāpēc to nevar automātiski attiecināt uz Windows 11 25H2.
Lietderība
Section titled “Lietderība”Parastām lietojumprogrammām lietderības praktiski nav: to kaudzes šo vērtību neizmanto. Parametrs var mainīt atmiņas atbrīvošanas biežumu tikai kodola kaudzē. Bez izmērītas problēmas tieši ar to gaidāmais efekts ir ļoti mazs.
Nolasīšana kodola režīmā apstiprināta ntoskrnl.exe. Efekts lietotāja procesiem 25H2 nav apstiprināts.
ModifiedWriteMaximum
Section titled “ModifiedWriteMaximum”Ko tas dara
Section titled “Ko tas dara”Parametrs nosaka augšējo robežu mainīto lapu rakstīšanas mehānismam (modified page writer). Kodā tiek izmantotas vienības pa 256 lapām, tas ir, viena vienība ir vienāda ar 1 MB.
Normalizācija Windows 11 25H2:
0tiek pārveidots par1vienību, tas ir, 1 MB;- vērtības, kas lielākas par
0x40, tiek ierobežotas ar0x40; - maksimālā efektīvā robeža ir 64 MB jeb 16 384 lapas.
Mehānisms sāk aktīvu rakstīšanu aptuveni tad, kad tiek sasniegta ceturtdaļa no noteiktā limita. Limita palielināšana maina rakstīšanas sākuma brīdi un uzkrāto mainīto lapu apjomu. Paša diska ātrums no tā nepalielinās.
Lietderība
Section titled “Lietderība”Pie lielāka limita pirms aktīvās rakstīšanas sākuma uzkrājas vairāk mainīto lapu. Rakstīšana var sākties retāk, taču vēl nesaglabāto datu apjoms un nākamās rakstīšanas porcijas lielums pieaug. Ja konkrētas problēmas ar rakstīšanu nav, atstājiet noklusējuma vērtību. Efektīvā robeža ir ierobežota ar 64 MB.
Nolasīšanas kods, mērvienības un diapazona ierobežojums apstiprināti ntoskrnl.exe. Tāda paša nosaukuma parametrs no vecākiem Microsoft dokumentiem par BitLocker attiecas uz citu apakšsistēmu; šie dokumenti šeit netiek izmantoti kā avots.
EnableAsyncLazywrite un saistītās vērtības
Section titled “EnableAsyncLazywrite un saistītās vērtības”Ko tas dara
Section titled “Ko tas dara”EnableAsyncLazywrite pārvalda Cache Manager asinhrono atlikto rakstīšanu. 25H2 kodā ir noteikta noklusējuma vērtība 2: šis režīms jau ir iespējots.
Tās pašas apakšsistēmas saistītās vērtības:
| Value | Default 25H2 | Loma |
|---|---|---|
EnableAsyncLazywrite |
2 |
Vispārējais async lazy-write mode |
EnableAsyncLazywriteMulti |
2 |
Blakus esošais multi-volume režīms |
EnablePerVolumeLazyWriter |
2 |
Per-volume lazy writer |
0 izslēdz asinhrono atlikto rakstīšanu. 1 ir nepieciešams atsevišķa atliktās rakstīšanas apstrādātāja režīms katrā sējumā. 2 iespējo asinhrono režīmu bez šīs prasības. Cache Manager pārlasa vērtības, strādājot ar sējumu konfigurāciju.
Lietderība
Section titled “Lietderība”Skaidra 2 ierakstīšana atkārto Windows 11 25H2 standarta konfigurāciju un neko papildus neuzlabo. Iestatījums ir piemērots galvenokārt diagnostikai: vērtība 0 ļauj izslēgt pēc noklusējuma strādājošo mehānismu.
Nolasīšana tika novērota sistēmas izsekā un apstiprināta ntoskrnl.exe. Noklusējuma vērtība 2 apstiprināta ar kodu un neatkarīgu reģistra parametru aprakstu, kas sagatavots pēc reversās analīzes rezultātiem.
CacheUnmapBehindLengthInMB
Section titled “CacheUnmapBehindLengthInMB”Ko tas dara
Section titled “Ko tas dara”Parametrs nosaka attālumu megabaitos, pēc kura Cache Manager atbrīvo kešatmiņā saglabātos attēlojumus, kas palikuši aiz secīgās lasīšanas pašreizējās pozīcijas.
Parametra nolasīšanas un piemērošanas kods atrodas ntoskrnl.exe un tiek izsaukts kešatmiņas attēlošanas un lasīšanas laikā. Parametrs attiecas uz lielu failu secīgu lasīšanu; tas neizslēdz visu failu kešatmiņu.
Vērtības un clamp
Section titled “Vērtības un clamp”0vai vērtība, kas lielāka par128, tiek aizstāta ar kodu uz8.- Darba diapazons:
1..128MB. - Koda default:
8MB. - Registry value vienības ir tieši MB, nevis baiti.
Lietderība
Section titled “Lietderība”Parametram ir jēga tikai specializētiem lielu failu secīgas lasīšanas uzdevumiem. Pie lielāka loga kešatmiņas attēlojums aiz pašreizējās pozīcijas tiek saglabāts ilgāk, pie mazāka tas tiek atbrīvots agrāk. Parastam darbam ir piemērota standarta vērtība 8 MB; manuālas iestatīšanas lietderība parasti ir maza.
Nolasīšanas, piemērošanas un diapazona ierobežojuma kods apstiprināts ntoskrnl.exe. Mūsdienu publiska Microsoft dokumentācija šim iekšējam parametram nav atrasta.
SplitLargeCaches
Section titled “SplitLargeCaches”Ko tas dara
Section titled “Ko tas dara”Ar 0 kešatmiņas topoloģijas apraksta API atgriež vienotu ierakstu attiecīgajai struktūrai, kas aptver vairākas procesoru grupas. Ar 1 ieraksti tiek sadalīti pa procesoru grupām.
Nolasīšanas kods atrodas ntoskrnl.exe. Parametrs tiek izmantots, apstrādājot attiecību RelationCache KeQueryLogicalProcessorRelationship.
Mainās tikai topoloģijas apraksts, ko atgriež sistēmas API. Piešķirtie fiziskie atmiņas bloki netiek sadalīti, un nepārtraukta bloka trūkuma iespējamība pati par sevi nesamazinās.
Vērtības un ierobežojumi
Section titled “Vērtības un ierobežojumi”0: noklusējuma vērtība.1: sadalīt topoloģijas ierakstus pa procesoru grupām.- Praktisks efekts iespējams galvenokārt sistēmās ar vairākām procesoru grupām, parasti ar vairāk nekā 64 loģiskajiem procesoriem.
- Parastā vienas grupas sistēmā efekta nav.
Lietderība
Section titled “Lietderība”Parametrs ir nepieciešams tikai programmām, kas pieprasa kešatmiņas topoloģiju mašīnā ar vairākām procesoru grupām. Tas nemaina kešatmiņas darbību un atmiņas piešķiršanu. Parastam galddatoram lietderības nav.
Nolasīšanas un piemērošanas kods apstiprināts ntoskrnl.exe. Vērtība un nozīme salīdzināta ar publisku reversās analīzes aprakstu KiSplitLargeCaches.
Vispārējā lietderība
Section titled “Vispārējā lietderība”| Parametrs | Praktiskais vērtējums |
|---|---|
DisablePagingExecutive |
Parasti dod ļoti mazu lietderību, noturot vairāk koda RAM |
DisablePageCombining |
Noderīgs pie apstiprinātas fonu lapu apvienošanas slodzes un liela RAM krājuma |
HeapDeCommitFreeBlockThreshold |
Darbojas tikai kodolā; parastām lietojumprogrammām praktiskas lietderības nav |
ModifiedWriteMaximum |
Maina mainīto lapu rakstīšanas nosacījumus; bez konstatētas problēmas atstājiet standarta vērtību |
EnableAsyncLazywrite |
Standarta vērtība 2 jau iespējo mehānismu; atkārtota ierakstīšana neko neuzlabo |
CacheUnmapBehindLengthInMB |
Secīgas lasīšanas iestatījums; standarta 8 MB ir piemēroti parastam darbam |
SplitLargeCaches |
Maina topoloģijas aprakstu vairākām procesoru grupām; parastā sistēmā efekta nav |
Kas apstiprināts un kas netika mērīts
Section titled “Kas apstiprināts un kas netika mērīts”Apstiprināti iepriekš minētie ceļi, tipi, noklusējuma vērtības, parametru nolasīšanas kods un brīdis, kā arī diapazonu ierobežojumi. Rezultāti attiecas uz Windows 11 25H2 build 26200.9168. Uzvedība var atšķirties pie cita Windows atjauninājuma, RAM apjoma, diskdziņa tipa vai CPU topoloģijas.
Kā atkārtot novērojumu dinamisko daļu — skatiet Kā pārbaudīt patstāvīgi.
Stāvokļa atjaunošana
Section titled “Stāvokļa atjaunošana”Lai atgrieztos, atjaunojiet parametru standarta vērtības vai izdzēsiet neobligātos ierakstus. Daļa vērtību tiek piemērota nākamajā Windows sāknēšanas reizē.
Pētījums un tajā izmantotie rīki pieder BoosterX izstrādātājam, tāpēc izstrādātājam ir tieša interese par rezultātiem. Metodika un piemērojamības robežas ir aprakstītas šajā rakstā; secinājumus var pārbaudīt pēc atklātajiem datiem un tālāk uzskaitītajiem publiskajiem avotiem.
Publiskie avoti
Section titled “Publiskie avoti”- Memory combining, Microsoft Learn: page combining nozīme un CPU/RAM trade-off, pārbaudīts 2026-09-01.
- Registry key that controls device driver and system code pagination to disk, Microsoft archive:
DisablePagingExecutivesemantika, pārbaudīts 2026-09-01. - HeapDeCommitFreeBlockThreshold, KB315407, vēsturiska Microsoft dokumentācija: vecais user-mode scenārijs un 256 KB slieksnis, pārbaudīts 2026-09-01.
- Windows system configuration descriptions, publisks RE apraksts
SplitLargeCaches, pārbaudīts 2026-09-01.
Apgalvojumi par kodu pārbaudīti ar Windows 11 25H2 sistēmas komponentu statisko analīzi. Dekompilētais kods, nobīdes, sākotnējās izsekas un iekšējie materiāli netiek publicēti.
Publiskie avoti pārbaudīti: 2026-09-02.
Izmaiņu vēsture
Section titled “Izmaiņu vēsture”- 2026-09-20: pievienots disclaimers par interešu konfliktu un saite uz patstāvīgu dinamisku novērojumu pārbaudi metodikā.
- 2026-09-02: pirmā publikācija; apstiprināti ceļi, defaults, clamps un parametru nolasīšanas kods, pievienotas praktiskās lietderības robežas.
