Memory Manager dan cache sistem Windows: paging, page combining, dan lazy write
Di halaman ini
Jawaban singkat
Section titled “Jawaban singkat”Dalam seri ini diperiksa tujuh parameter paging, penggabungan halaman identik, heap kernel, dan cache berkas. Di Windows 11 25H2 ditemukan kode pembacaan untuk masing-masing parameter tersebut. Manfaat praktisnya bergantung pada parameter dan kondisi kerja.
DisablePageCombining menonaktifkan penggabungan halaman di latar belakang: manajer memori berhenti menjalankan tugas ini, tetapi pemakaian RAM dapat meningkat. DisablePagingExecutive menahan kode driver yang dapat dipindahkan di memori fisik; manfaatnya biasanya kecil. Parameter lainnya hanya berlaku untuk tugas kernel atau penyimpanan tertentu, atau sudah memiliki nilai default yang sesuai di 25H2.
Apa yang diperiksa
Section titled “Apa yang diperiksa”Untuk setiap nilai diperiksa:
- jalur persis di Registry dan tipenya;
- nilai default yang ditetapkan oleh kode Windows 11 25H2;
- nilai terkait dari subsistem yang sama;
- kode sistem pembacaan dan waktu eksekusinya;
- batasan rentang, konversi nilai, dan satuan pengukuran;
- efek langsung dan batas penerapannya.
Selain kode pembacaan, kami memeriksa di mana parameter diterapkan, konsekuensi apa yang ditimbulkan perubahannya, dan dalam skenario apa hal itu dapat berguna. Keberadaan parameter saja tidak cukup untuk sebuah rekomendasi.
Cakupan penelitian dan bukti
Section titled “Cakupan penelitian dan bukti”- Windows 11 25H2 x64, build
26200.9168. - Parameter kernel dicocokkan dengan tabel konfigurasi utama
ntoskrnl.exedan kode penerapannya di Memory Manager dan Cache Manager. - Akses selama runtime diperiksa dengan pelacakan Registry sistem. Pembacaan pada fase 0 dan awal fase 1 mungkin tidak ada dalam pelacakan boot biasa: driver pelacakan mulai mencatat lebih lambat.
- Untuk proses pengguna, pembacaan nilai diperiksa secara terpisah di
ntdll.dll. UntukHeapDeCommitFreeBlockThresholddi 25H2 ditemukan pembacaan di kernel, tetapi heap proses pengguna tidak menggunakan parameter ini. - Analisis statis komponen sistem tidak menggantikan pengujian ulang pada PC fisik, build lain, atau jenis penyimpanan lain.
Parameter kanonis
Section titled “Parameter kanonis”| Registry path | Value | Type | Default Windows 11 25H2 | Penerapan |
|---|---|---|---|---|
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management |
DisablePagingExecutive |
REG_DWORD |
0 |
Paging kode pageable driver sistem |
| jalur yang sama | DisablePageCombining |
REG_DWORD |
0 |
Penggabungan latar belakang halaman fisik identik |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager |
HeapDeCommitFreeBlockThreshold |
REG_DWORD |
0x1000 (4 KB) untuk kernel heap |
Ambang decommit blok kosong kernel-mode heap |
| jalur yang sama | ModifiedWriteMaximum |
REG_DWORD |
1 satuan = 1 MB |
Batas atas modified page writer setelah clamp |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management |
EnableAsyncLazywrite |
REG_DWORD |
2 |
Mode asinkron Cache Manager |
| jalur yang sama | CacheUnmapBehindLengthInMB |
REG_DWORD |
8 MB |
Jendela unmap di belakang pembacaan berurutan |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Kernel |
SplitLargeCaches |
REG_DWORD |
0 |
Representasi cache topology antar processor group |
DisablePagingExecutive
Section titled “DisablePagingExecutive”Apa yang dilakukan
Section titled “Apa yang dilakukan”Dengan 0 manajer memori Windows dapat memindahkan bagian kode sistem dan driver yang mengizinkannya ke penyimpanan cadangan. Dengan 1 kode driver sistem yang dapat dipindahkan ditahan di memori fisik.
Kode pembacaan ditemukan di ntoskrnl.exe pada tahap awal inisialisasi kernel. Nilai ini digunakan di MmResetDriverPaging, MmPageEntireDriver, dan saat memuat image sistem. Nilai ini diterapkan lebih awal daripada dimulainya pelacakan Registry pengguna biasa. Untuk menerapkan status baru diperlukan restart.
Nilai dan batasan
Section titled “Nilai dan batasan”0: keadaan standar Windows, paging diizinkan.1: bagian driver sistem yang dapat dipindahkan ditahan di RAM.- Pengaturan ini mengonsumsi RAM untuk mengurangi pemuatan ulang kode sistem ke memori; disk itu sendiri tidak menjadi lebih cepat.
Kegunaan
Section titled “Kegunaan”Pengaturan ini mencegah pemindahan dan pemuatan ulang bagian driver tersebut di kemudian hari. Pengaturan ini tidak menonaktifkan thread CPU pemeriksa tetap yang terpisah. Pada sistem modern dengan RAM yang cukup, manfaatnya biasanya sangat kecil: kode bahkan tanpa pengaturan dapat tetap berada di memori untuk waktu yang lama. Saat RAM tidak mencukupi, penahanan paksa ini memperparah kekurangan memori.
Pembacaan parameter dan arah efek sistem dikonfirmasi oleh kode ntoskrnl.exe.
DisablePageCombining
Section titled “DisablePageCombining”Apa yang dilakukan
Section titled “Apa yang dilakukan”Dengan 0 manajer memori menjalankan tugas latar belakang yang mencari dan menggabungkan halaman fisik identik. Dengan 1 tugas ini tidak melakukan penggabungan.
Di ntoskrnl.exe ditemukan kode penggabungan halaman latar belakang dengan pool tag MmCb, yang mengonfirmasi keberadaan mekanisme tersebut.
Nilai dan batasan
Section titled “Nilai dan batasan”0: penggabungan halaman diizinkan, keadaan standar Windows.1: penggabungan dinonaktifkan.- Menonaktifkan mengurangi kerja latar belakang manajer memori, tetapi dapat meningkatkan pemakaian RAM.
Kegunaan
Section titled “Kegunaan”Menonaktifkan berguna jika penggabungan halaman menciptakan beban latar belakang yang signifikan dan sistem memiliki RAM yang tersedia. Biasanya tugas ini kurang aktif, sehingga efeknya sangat kecil. Dengan memori yang terbatas, penghematan RAM dari penggabungan lebih berguna daripada waktu prosesor yang dihemat.
Kode pembacaan dan tugas latar belakang dikonfirmasi di ntoskrnl.exe. Microsoft menjelaskan penggabungan halaman dan kompromi antara kerja prosesor dan penghematan RAM.
HeapDeCommitFreeBlockThreshold
Section titled “HeapDeCommitFreeBlockThreshold”Apa yang dilakukan
Section titled “Apa yang dilakukan”Nilai ini menetapkan ambang pelepasan memori yang dialokasikan (decommit) untuk blok kosong heap kernel. Dengan ambang yang lebih besar, operasi semacam itu untuk blok kosong berukuran besar terjadi lebih jarang.
Di Windows 11 25H2 kode pembacaan berada di ntoskrnl.exe, dan penerapan parameter terkait dengan fungsi kernel RtlCreateHeap. Di ntdll.dll kode pembacaan yang sesuai untuk heap proses biasa tidak ditemukan.
Nilai dan batasan
Section titled “Nilai dan batasan”- Nilai default dalam kode untuk heap kernel:
0x1000(4 KB). 0x40000(256 KB) adalah ambang yang valid untuk heap kernel.- Dokumen historis Microsoft menjelaskan skenario user-mode dengan nama yang sama pada versi Windows lama, sehingga tidak dapat secara otomatis diterapkan pada Windows 11 25H2.
Kegunaan
Section titled “Kegunaan”Untuk aplikasi biasa hampir tidak ada manfaatnya: heap mereka tidak menggunakan nilai ini. Parameter ini hanya dapat mengubah frekuensi pelepasan memori di heap kernel. Tanpa masalah yang terukur khusus pada heap kernel, efek yang diharapkan sangat kecil.
Pembacaan dalam mode kernel dikonfirmasi di ntoskrnl.exe. Efek untuk proses pengguna di 25H2 tidak dikonfirmasi.
ModifiedWriteMaximum
Section titled “ModifiedWriteMaximum”Apa yang dilakukan
Section titled “Apa yang dilakukan”Parameter ini menetapkan batas atas untuk mekanisme penulisan halaman yang diubah (modified page writer). Dalam kode digunakan satuan per 256 halaman, yaitu satu satuan sama dengan 1 MB.
Normalisasi di Windows 11 25H2:
0dikonversi menjadi1satuan, yaitu 1 MB;- nilai yang lebih besar dari
0x40dibatasi menjadi0x40; - batas efektif maksimum adalah 64 MB, atau 16 384 halaman.
Mekanisme ini mulai menulis secara aktif kira-kira saat mencapai seperempat dari batas yang ditetapkan. Meningkatkan batas mengubah waktu dimulainya penulisan dan jumlah halaman yang diubah yang terakumulasi. Kecepatan disk itu sendiri tidak meningkat karenanya.
Kegunaan
Section titled “Kegunaan”Dengan batas yang lebih besar, lebih banyak halaman yang diubah terakumulasi sebelum penulisan aktif dimulai. Penulisan dapat dimulai lebih jarang, tetapi jumlah data yang belum tersimpan dan ukuran penulisan berikutnya bertambah. Jika tidak ada masalah spesifik dengan penulisan, biarkan nilai default. Batas efektifnya dibatasi pada 64 MB.
Kode pembacaan, satuan pengukuran, dan batasan rentang dikonfirmasi di ntoskrnl.exe. Parameter dengan nama yang sama dari dokumen Microsoft lama tentang BitLocker merujuk pada subsistem yang berbeda; dokumen tersebut tidak digunakan sebagai sumber di sini.
EnableAsyncLazywrite dan nilai terkait
Section titled “EnableAsyncLazywrite dan nilai terkait”Apa yang dilakukan
Section titled “Apa yang dilakukan”EnableAsyncLazywrite mengendalikan penulisan tertunda asinkron Cache Manager. Dalam kode 25H2 ditetapkan nilai default 2: mode ini sudah aktif.
Nilai terkait dari subsistem yang sama:
| Value | Default 25H2 | Peran |
|---|---|---|
EnableAsyncLazywrite |
2 |
Mode async lazy-write umum |
EnableAsyncLazywriteMulti |
2 |
Mode multi-volume tetangga |
EnablePerVolumeLazyWriter |
2 |
Lazy writer per-volume |
0 menonaktifkan penulisan tertunda asinkron. Untuk 1 diperlukan mode penangan penulisan tertunda terpisah pada setiap volume. 2 mengaktifkan mode asinkron tanpa persyaratan tersebut. Cache Manager membaca ulang nilai saat menangani konfigurasi volume.
Kegunaan
Section titled “Kegunaan”Penulisan eksplisit 2 mengulang konfigurasi standar Windows 11 25H2 dan tidak meningkatkan apa pun secara tambahan. Pengaturan ini terutama cocok untuk diagnostik: nilai 0 memungkinkan menonaktifkan mekanisme yang aktif secara default.
Pembacaan diamati dalam pelacakan sistem dan dikonfirmasi di ntoskrnl.exe. Nilai default 2 dikonfirmasi oleh kode dan deskripsi independen parameter Registry yang disusun berdasarkan hasil rekayasa balik.
CacheUnmapBehindLengthInMB
Section titled “CacheUnmapBehindLengthInMB”Apa yang dilakukan
Section titled “Apa yang dilakukan”Parameter ini menetapkan jarak dalam megabita, setelah itu Cache Manager melepaskan representasi yang di-cache yang tertinggal di belakang posisi pembacaan berurutan saat ini.
Kode pembacaan dan penerapan parameter berada di ntoskrnl.exe dan dipanggil saat pemetaan dan pembacaan cache. Parameter ini berkaitan dengan pembacaan berurutan berkas besar; parameter ini tidak menonaktifkan seluruh cache berkas.
Nilai dan clamp
Section titled “Nilai dan clamp”0atau nilai yang lebih besar dari128diganti oleh kode menjadi8.- Rentang kerja:
1..128MB. - Default kode:
8MB. - Satuan Registry value memang MB, bukan byte.
Kegunaan
Section titled “Kegunaan”Parameter ini hanya masuk akal untuk tugas khusus pembacaan berurutan berkas besar. Dengan jendela yang lebih besar, pemetaan cache di belakang posisi saat ini dipertahankan lebih lama, dengan jendela yang lebih kecil dilepaskan lebih awal. Untuk kerja biasa, nilai standar 8 MB sudah cocok; manfaat pengaturan manual biasanya kecil.
Kode pembacaan, penerapan, dan batasan rentang dikonfirmasi di ntoskrnl.exe. Dokumentasi publik Microsoft modern untuk parameter internal ini tidak ditemukan.
SplitLargeCaches
Section titled “SplitLargeCaches”Apa yang dilakukan
Section titled “Apa yang dilakukan”Dengan 0 API deskripsi topologi cache mengembalikan satu entri untuk struktur terkait yang mencakup beberapa processor group. Dengan 1 entri dipisahkan per processor group.
Kode pembacaan berada di ntoskrnl.exe. Parameter ini digunakan saat memproses relasi RelationCache di KeQueryLogicalProcessorRelationship.
Hanya deskripsi topologi yang dikembalikan oleh API sistem yang berubah. Blok memori fisik yang dialokasikan tidak dipisahkan, dan kemungkinan kekurangan blok berurutan itu sendiri tidak berkurang.
Nilai dan batasan
Section titled “Nilai dan batasan”0: nilai default.1: memisahkan entri topologi per processor group.- Efek praktis mungkin terjadi terutama pada sistem dengan beberapa processor group, biasanya dengan lebih dari 64 prosesor logis.
- Pada sistem satu grup biasa tidak ada efeknya.
Kegunaan
Section titled “Kegunaan”Parameter ini hanya diperlukan oleh program yang meminta topologi cache pada mesin dengan beberapa processor group. Parameter ini tidak mengubah kerja cache dan alokasi memori. Untuk komputer desktop biasa tidak ada manfaatnya.
Kode pembacaan dan penerapan dikonfirmasi di ntoskrnl.exe. Nilai dan tujuannya dicocokkan dengan deskripsi publik hasil rekayasa balik KiSplitLargeCaches.
Kegunaan umum
Section titled “Kegunaan umum”| Parameter | Penilaian praktis |
|---|---|
DisablePagingExecutive |
Biasanya memberi manfaat sangat kecil dengan menahan lebih banyak kode di RAM |
DisablePageCombining |
Berguna saat beban penggabungan halaman latar belakang terkonfirmasi dan cadangan RAM besar |
HeapDeCommitFreeBlockThreshold |
Hanya berlaku di kernel; untuk aplikasi biasa tidak ada manfaat praktis |
ModifiedWriteMaximum |
Mengubah kondisi penulisan halaman yang diubah; tanpa masalah yang teridentifikasi biarkan nilai standar |
EnableAsyncLazywrite |
Nilai standar 2 sudah mengaktifkan mekanisme; penulisan ulang tidak meningkatkan apa pun |
CacheUnmapBehindLengthInMB |
Pengaturan pembacaan berurutan; nilai standar 8 MB cocok untuk kerja biasa |
SplitLargeCaches |
Mengubah deskripsi topologi untuk beberapa processor group; pada sistem biasa tidak ada efeknya |
Apa yang dikonfirmasi dan apa yang tidak diukur
Section titled “Apa yang dikonfirmasi dan apa yang tidak diukur”Jalur, tipe, nilai default, kode dan waktu pembacaan parameter yang disebutkan di atas dikonfirmasi, serta batasan rentangnya. Hasilnya berlaku untuk Windows 11 25H2 build 26200.9168. Perilaku dapat berbeda pada pembaruan Windows lain, jumlah RAM, jenis penyimpanan, atau topologi CPU lain.
Cara mengulang bagian dinamis dari pengamatan — lihat Cara memeriksa sendiri.
Pemulihan status
Section titled “Pemulihan status”Untuk mengembalikan, kembalikan nilai standar parameter atau hapus entri opsional. Sebagian nilai diterapkan pada boot Windows berikutnya.
Penelitian dan alat yang digunakan di dalamnya milik pengembang BoosterX, sehingga pengembang memiliki kepentingan langsung terhadap hasilnya. Metodologi dan batas penerapannya dijelaskan dalam artikel ini; kesimpulannya dapat diverifikasi melalui data terbuka dan sumber publik yang tercantum di bawah.
Sumber publik
Section titled “Sumber publik”- Memory combining, Microsoft Learn: tujuan page combining dan trade-off CPU/RAM, diperiksa 2026-09-01.
- Registry key that controls device driver and system code pagination to disk, arsip Microsoft: semantik
DisablePagingExecutive, diperiksa 2026-09-01. - HeapDeCommitFreeBlockThreshold, KB315407, dokumentasi historis Microsoft: skenario user-mode lama dan ambang 256 KB, diperiksa 2026-09-01.
- Windows system configuration descriptions, deskripsi RE publik
SplitLargeCaches, diperiksa 2026-09-01.
Pernyataan tentang kode diverifikasi melalui analisis statis komponen sistem Windows 11 25H2. Kode yang didekompilasi, offset, pelacakan asli, dan materi internal tidak dipublikasikan.
Sumber publik diperiksa: 2026-09-02.
Riwayat perubahan
Section titled “Riwayat perubahan”- 2026-09-20: ditambahkan disclaimer tentang konflik kepentingan dan tautan ke pemeriksaan mandiri pengamatan dinamis dalam metodologi.
- 2026-09-02: publikasi pertama; jalur, default, clamp, dan kode pembacaan parameter dikonfirmasi, batas kegunaan praktis ditambahkan.
