Sejak saya upgrade ke Windows 10, sistem saya telah memakan RAM terlalu
I've telah membaca sedikit dan ditentukan itu's mungkin sopir bocor memori. Jadi aku mendapatkan diriku Windows Driver Kit dan dilacak penggunaan memori dengan poolmon:
Namun, saya don't benar-benar tahu bagaimana untuk melanjutkan dari sini. Item tagged "smNp" pelakunya dalam masalah ini? Bagaimana saya pergi dari sana untuk benar-benar mengidentifikasi driver?
Aku mencoba beberapa hal seperti "C:\Windows\System32\drivers>findstr /s smnp ." tapi itu kembali tanpa hasil. Saya juga mengambil melihat pooltag.txt file ini adalah keterangan yang saya temukan untuk itu:
Jadi ya, setiap bantuan akan menghargai. Terima kasih sebelumnya.
I've melihat xperf jejak dari beberapa pengguna dan berikut fungsi ntoskrnl.exe!SmKmStoreHelperWorker
Kernel mulai mengalokasikan memori.
[![Screenshot][1]][1]
(Klik gambar untuk memperbesar)
Saya menemukan ini di [sysinternals][2].
I've meminta Microsoft tentang hal itu dan jawabannya adalah bahwa ini adalah by design. Hal ini terkait dengan Sistem kompresi Memori.
Di [pengumuman Windows 10 Build 10525, Microsoft menjelaskan sedikit][3]:
Di Windows 10, kami telah menambahkan sebuah konsep baru dalam Memori Manager disebut kompresi store, yang merupakan koleksi di memori halaman terkompresi. Ini berarti bahwa ketika Manajer Memori merasa memori tekanan, itu akan kompres halaman yang tidak digunakan sebagai pengganti untuk disk. Hal ini akan mengurangi jumlah memori yang digunakan per proses, yang memungkinkan Windows 10 untuk mempertahankan lebih banyak aplikasi di memori fisik pada suatu waktu. hal Ini juga membantu memberikan respon yang lebih baik di Windows 10. Yang kompresi toko hidup dalam Sistem proses kerja yang ditetapkan. Sejak sistem proses yang memegang simpan di memori, set kerja tumbuh lebih besar persis ketika memori yang tersedia untuk proses-proses lain. Ini terlihat di Task Manager dan alasan Sistem proses muncul untuk memakan lebih banyak memori dari rilis sebelumnya. Jadi, bukannya penulisan memori data untuk berkas halaman itu kompres mereka. Dan ini dikompresi memori ditampilkan dalam Sistem proses. Microsoft juga memposting rincian lebih lanjut di dalam hub. [Winbeta membuat artikel][4] yang mencakup rincian lebih lanjut. Rupanya, alasan untuk ini terjadi untuk melakukan dengan Microsoft memilih untuk ditangguhkan UWP aplikasi ketika mereka tidak di latar depan, sangat mirip dengan beberapa smartphone OS manajemen. Windows 8 pengguna dipahami (mungkin tidak) bahwa jika aplikasi tidak ada di layar, mereka tidak berjalan sampai pengguna beralih kembali kepada mereka. 'All or nothing' pendekatan yang diperbarui dengan Windows 10 memperkenalkan lapisan antara pagefile dan normal paging aktivitas. Sekarang, ketika dihadapkan dengan memori tekanan masalah, MM akan menentukan halaman mana yang harus dipindahkan ke dimodifikasi daftar di sebuah proses yang disebut pemangkasan. Modifikasi daftar sekunder daftar pagefiles back up daftar siaga pagefiles. Cadangan daftar ditangkap dalam kasus memori direklamasi dari daftar siaga dengan yang lain proses, dan proses yang asli datang mencari halaman. Bukan dari semua atau tidak, Windows 10 MM akan memampatkan halaman terpakai agak dari menulis ke disk. Dengan sedikit menulis, hasilnya harus lebih sedikit operasi disk – terima kasih untuk kompresi – dan sekarang lebih banyak data dapat disimpan dalam memori. [![enter image description here][5]][5]
Menurut tim Windows, "Dalam praktek, dikompresi memori yang diperlukan sampai sekitar 40% dari ukuran dikompresi, dan sebagai akibat dari khas perangkat yang menjalankan khas beban kerja, Windows 10 menulis halaman ke disk hanya 50% sesering versi sebelumnya dari OS." Jika semua berjalan menurut rencana, pengguna Windows bisa mengalami berkurang menunggu kali untuk semua perangkat serta memperpanjang usia harapan hidup pada sistem yang telah berbasis flash hard drive.
Dekompresi adalah juga sesuatu yang Windows 10 dirancang untuk melakukannya dengan baik. Windows 10 adalah menggunakan kombinasi dari parallelizability dan berurutan membaca untuk menghasilkan halaman ke dalam memori yang pernah disebut. Baru dekompresi harus menghasilkan lebih cepat, pengalaman Windows 10 secara bersamaan dekompresi data dan membacanya secara paralel menggunakan beberapa Cpu. Versi Windows mungkin merasa lesu karena laju transfer antara disk. Microsoft juga merilis sebuah Video pada channel9 yang menjelaskan fitur. Kompresi memori di Windows 10 RTM
https://channel9.msdn.com/Blogs/Seth-Juarez/Memory-Compression-in-Windows-10-RTM Di video ini Mehmet Iyigun menghabiskan beberapa waktu untuk membahas mengapa Sistem proses di Windows 10 adalah mengambil sedikit lebih banyak memori dan mengapa hal itu's yang baik hal. Proses mengambil memori yang lebih terdengar seperti hal yang buruk - yang sampai saya mengerti lebih banyak tentang manajemen memori, paging, dan keras / lembut halaman kesalahan. Ternyata bahwa OS melakukan beberapa pintar optimasi yang memungkinkan proses untuk memangkas beberapa memori tapi belum tentu halaman ini ke disk. Tidak hanya memori yang diawetkan di RAM, tetapi juga compressed - membuat hard kesalahan halaman yang lebih kejadian langka. Hasil harus membuat snappier pengalaman. Terbaru TH2 Membangun, Microsoft memperbarui deskripsi tugas manajer dan sekarang ini juga menunjukkan bahwa proses SISTEM hostkompresi
memori: untuk menghindari kebingungan tentang "tinggi" penggunaan. Di Jendela 10 Tahun Update yang dirilis pada oktober 2016, Microsoft diekstrak Kompresi ke sekarang ditampilkan dalam pseudo proses yang disebutKompresi Memori
untuk tidak lagi membingungkan pengguna, mengapa SISTEM yang besar seperti penggunaan memori: Tapi sepertinya Taskmgr doesn't menunjukkan proses ini, hanya ProcessExplorer/ProcessHacker mampu menunjukkan itu. Yang Taskmgr hanya menunjukkan jumlah kompresi memori dalam gambaran: Jika anda membawa lebih dari memori yang digunakan grafik di Taskmgr anda melihat tooltip yang menunjukkan jumlah data yang dikompresi. Dalam demo ini 388MB yang dikompresi untuk 122MB jadi 267MB disimpan dengan kompresi.
Dengan pergi ke layanan.msc
(via Win+R) dan mematikan Superfetch benar-benar memecahkan ini. Saya tidak yakin jika Superfetch yang rusak seperti sekarang ini atau itu's "dengan desain".
Selain itu, rupanya menyingkirkan paging file akan memiliki efek yang sama tetapi solusi di atas adalah lebih aman taruhan.
Saya menemukan outlier kasus yang menyebabkan tinggi penggunaan memori Sistem, dan ingin memasukkannya dalam kasus informasi ini bermanfaat untuk siapapun.
Jika anda sangat memanfaatkan Microsoft's Volume Snapshot (software snapshot, bukan hardware snapshot), semakin banyak foto yang anda simpan dikombinasikan dengan besar perubahan data, maka Sistem akan mengkonsumsi lebih banyak RAM.
Biasanya jumlah RAM yang digunakan untuk Volume Snapshot adalah kecil dan tidak akan melihat, kecuali jika anda memiliki raksasa volume (yaitu 64 TB) dengan multi-terabyte delta antara foto. Secara default, snapshot hanya akan menghapus sendiri jika menulis IO's terlalu tinggi, tetapi ada cara untuk mencegah hal itu, yang memungkinkan anda untuk mencapai besar delta.
Di bawah ini adalah kasus ekstrim menunjukkan server's Sistem proses menggunakan 13 GB RAM. Server ini hanya memiliki dua Volume Snapshot, diambil 15 hari, dengan sekitar 10 TB data yang tertulis di antara masing-masing foto.
Sistem proses di atas sebelumnya di 24GB penggunaan, dan berikut tiga perilaku yang diamati:
Saya menduga Volume Snapshot, jadi aku mencoba menghapus tertua snapshot yang langsung turun System's penggunaan memori dari 24 GB untuk 13 GB.
Dalam keadaan ini mungkin ini perilaku normal, meskipun saya belum menegaskan hal ini dengan Microsoft. Sementara itu saya akan menambahkan aplikasi tambahan 32 GB RAM untuk server ini untuk menangani Snapshot overhead.
(Catatan: ini adalah volume tinggi backup server yang menjalankan Windows 2016 dengan 64 TB SSD iSCSI drive yang terpasang. Mempertahankan rata-rata dari tiga volume snapshot pada waktu tertentu, dengan yang baru dibuat setiap 15 hari. Ada sekitar 10 TB data yang tertulis di antara masing-masing foto).
Menonaktifkan prefetcher di regedit kunci: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters
anda mungkin memiliki Mengaktifkan Prefetcher
dengan nilai 2
atau 3
sehingga perubahan itu ke 0
Selanjutnya anda harus menonaktifkan Superfetch
dalam pelayanan
Pencarian untuk pelayanan.msc
Menemukan superfetch
klik properties
, kemudian set ke cacat
dan menghentikan layanan juga.
Saya melakukan langkah-langkah ini dan ketika saya game dan biasanya menggunakan PC dan sistem
proses hanya menggunakan 28k