Saya memiliki 16GB RAM sistem. Pada startup tanpa aplikasi yang terbuka kecuali task-manager Windows menggunakan sekitar 3gb RAM. Saya melihat pada tab proses, tetapi sepertinya tidak ada yang luar biasa. Bagaimana saya bisa mengetahui mengapa Windows saya menggunakan begitu banyak RAM.
semua proses dari semua pengguna
Membaca dari poolmon nampaknya driver broadcom nirkabel saya menggunakan sekitar 0.4GB RAM. Bahkan jika saya menghapusnya masih akan menggunakan 2.6GB saat start-up, yang masih terlalu banyak.
Setelah menginstal ulang driver nirkabel yang terkait dengan kebocoran memori. Saya memiliki tangkapan layar baru dan ingin mengonfirmasi bahwa itu memang kebocoran memori.
Jawaban:
Anda memiliki kebocoran memori yang disebabkan oleh pengemudi. Lihatlah nilai tinggi memori kernel non-halaman. Dalam kasus Anda ini lebih dari 3,7 GB. Anda dapat menggunakan poolmon untuk melihat driver mana yang menyebabkan tingginya penggunaan.
Instal Windows WDK , jalankan poolmon, sortir melalui Ptipe sesudah kolam sehingga non-paged ada di atas dan via Bbyte untuk melihat tag yang menggunakan sebagian besar memori. Jalankan poolmon dengan pergi ke folder tempat WDK diinstal, buka Tools (atau C: \ Program Files (x86) \ Windows Kits \ 10 \ Tools \ x64) dan klik poolmon.exe.
Sekarang lihat pooltag mana yang menggunakan sebagian besar memori seperti ditunjukkan di sini:
Sekarang buka prompt cmd dan jalankan perintah findstr. Untuk melakukan ini, buka cmd prompt dan ketik "cd C: \ Windows \ System32 \ drivers", tanpa tanda kutip. Kemudian ketik "findstr / s __ . ", Di mana __ adalah tag (nama paling kiri di poolmon). Lakukan ini untuk melihat driver mana yang menggunakan tag ini:
Sekarang, buka folder driver (C: \ Windows \ System32 \ drivers) dan klik kanan driver yang dimaksud (intmsd.sys pada contoh gambar di atas). Klik Properti, buka tab detail untuk menemukan Nama Produk. Cari pembaruan untuk produk itu.
Jika pooltag hanya menampilkan driver Windows atau terdaftar di pooltag.txt (
"C:\Program Files (x86)\Windows Kits\8.1\Debuggers\x64\triage\pooltag.txt"
)Anda telah menggunakan xperf untuk melacak apa yang menyebabkan penggunaan . Instal WPT dari Windows SDK , buka cmd.exe sebagai admin dan jalankan ini:
menangkap 30 -60-an tumbuh. Buka ETL dengan WPA.exe, tambahkan grafik Pool ke panel analisis.
Letakkan kolom pooltag di tempat pertama dan tambahkan kolom tumpukan. Sekarang muat simbol di dalam WPA.exe dan rentangkan tumpukan tag yang Anda lihat di poolmon.
Sekarang temukan driver pihak ke-3 lain yang dapat Anda lihat di tumpukan. Di sini
Thre
tag (Utas) digunakan oleh AVKCl.exe dari G-Data. Cari pembaruan driver / program untuk memperbaikinya.sumber
Nah, hal pertama, sebelum saya masuk ke jawaban yang lebih detail. Dalam tangkapan layar pertama Anda, Non-Paged Pool Anda (sejenis penggunaan memori kernel) berada pada 1,3GB. Bagi saya itu nampak sangat tinggi, terutama hanya 30 menit setelah booting. Saya kira saya bisa melihat NP Pool mendapatkan setinggi itu setelah penggunaan yang lama atau dengan program yang bocor seperti saringan. Sebaliknya, NP Pool saya biasanya antara 100 dan 200 megabyte, dan kumpulan halaman saya mungkin setinggi 400 atau 500 (dan itu setelah sistem saya berjalan tanpa reboot selama berminggu-minggu.)
Anda dapat mengaktifkan beberapa kolom tambahan di Task Manager dengan mengklik kanan header kolom, dan memilih kolom pilih. Anda harus menambahkan
Working Set (private)
,Working Set (shared)
,Commit
, danNP Pool
. Saya akan memindai semua proses Anda dari semua pengguna, dan melihat apakah ada di antara mereka yang memiliki NP Pool lebih dari 256KB. Jika Anda melihat ada, terutama yang jauh lebih tinggi, yang mungkin menjadi sumber masalah, atau setidaknya bagian dari itu.Perangkat kerja total Anda, jumlah memori fisik yang digunakan oleh suatu proses, adalah kombinasi dari perangkat kerja pribadi dan bersama (WS). Privat biasanya lebih besar untuk sebagian besar proses, namun mungkin ada beberapa yang menggunakan jumlah WS bersama yang lebih besar. Keduanya biasanya dijumlahkan dengan total WS. Komit adalah jumlah set kerja Anda yang telah dikomit ke backing store (dalam kebanyakan kasus, file halaman Windows). Aplikasi berlatar belakang akan sering memiliki Komit lebih besar daripada WS, menunjukkan bahwa banyak kumpulan halaman mereka telah ditukar keluar dari memori dan ke dalam file halaman Anda (yang cukup normal untuk aplikasi desktop yang telah diminimalkan dan tidak digunakan untuk sementara waktu).
Non-Paged Pool adalah memori yang tidak dapat, dan tidak akan, ditukar dengan memori fisik ... yang secara efektif menggunakan memori fisik minimum permanen Anda. Memori NP Pool sering berisi kode program dan bagian-bagian penting yang harus ada dalam memori fisik untuk berperilaku dengan benar atau aman, tumpukan khusus, dll. Dari 60 proses, jika semuanya memiliki memori NP Pool 256 KB, maka penggunaan memori fisik minimum absolut Anda akan menjadi sekitar 15.360KB. Dalam kebanyakan kasus satu atau dua aplikasi mungkin memiliki NP Pool 256KB, sementara sebagian besar memiliki lebih sedikit, seringkali jauh lebih sedikit (atau tidak ada). Sangat tidak mungkin sistem akan pernah menampilkan keseluruhan dari semua proses yang bekerja, jadi jangan pernah berharap penggunaan memori menjadi rendah.
Akhirnya, tujuan memiliki lebih banyak memori adalah untuk menghindari keharusan data halaman ke dan dari ruang memori yang diperluas (swap, file halaman) pada disk fisik. Paging adalah proses yang melibatkan memindahkan blok memori fisik yang dialokasikan, mendorong beberapa ke disk, dan membawa yang lain ke memori fisik dari disk. Paging adalah, untuk membuatnya sederhana, sangat tidak diinginkan. Ini bukan "buruk" per-se, tetapi bisa menjadi hambatan nyata pada kinerja ketika itu terjadi terlalu sering. Poin utama meningkatkan total RAM fisik dalam suatu sistem adalah untuk memungkinkan lebih banyak proses menjaga lebih banyak komit mereka dalam memori fisik (perangkat kerja yang lebih besar). Mengkonsumsi memori bukan masalah, dan ketika lebih banyak proses yang dieksekusi menggunakan lebih banyak memori, kinerja total sistem dan kinerja proses aktif biasanya akan lebih tinggi,
Windows mengelola memori untuk Anda, dan secara otomatis halaman data masuk dan keluar dari memori ke dan dari halaman (swap) file untuk Anda. Jika Anda menjalankan proses yang membutuhkan memori 9GB dan sistem Anda sudah menggunakan 4GB (dari 12GB), maka sistem akan secara otomatis mencari tahu proses mana yang tidak memerlukan akses langsung ke seluruh rangkaian kerja mereka, dan itu akan menampilkan beberapa atau semua halaman dari kumpulan halaman mereka untuk bertukar untuk membebaskan 1GB tambahan itu. Jika proses besar Anda pada akhirnya membutuhkan lebih banyak memori, windows akan semakin mengurangi set proses kerja lainnya hingga memiliki ruang kosong yang cukup untuk mengalokasikan blok yang baru diminta. Proses besar Anda pada akhirnya dapat menggunakan semua memori yang tersedia kecuali NP Pool dan mungkin beberapa overhead minimum tambahan untuk menjalankan proses secara berkala yang tidak memungkinkan Windows untuk membebaskan lebih dari set kerja mereka (i. e. mereka memiliki kesalahan halaman yang tertunda bahwa Windows jika tidak akan bertukar dari memori fisik, tetapi karena mereka diminta, mereka tidak dapat dipindahkan.)
Jika suatu proses membutuhkan lebih banyak memori daripada yang diizinkan untuk mengakses (proses 32bit biasanya dapat mengakses 2Gb, dan beberapa sedikit kurang dari 4Gb dengan teknik yang ditingkatkan, masing-masing proses 64bit biasanya dapat mengakses sekitar 48Gb memori, masing-masing), maka windows terkadang akan mencoba untuk memvirtualkan memorinya dengan ruang swap. Jika aplikasi 32bit ingin menggunakan ruang maksimum yang diizinkan 2Gb, tetapi hanya 1.2Gb yang tersedia, windows akan memesan 2Gb penuh dalam file halaman, dan memindahkan proses sendiri data masuk dan keluar dari file halaman sebagaimana diperlukan untuk mendukung penggunaan memori aplikasi. Total penggunaan "memori" dalam hal ini mungkin tampak lebih besar daripada memori fisik yang tersedia, saat menggunakan Total Commit. Total Commit biasanya akan maksimal pada ukuran file halaman total grand, yang ketika dikelola oleh sistem, biasanya 2-3x jumlah memori fisik. Dalam kasus anda,
Satu poin terakhir. Anda mengatakan dalam jawaban Anda bahwa Anda memiliki 16Gb RAM, sedangkan Task Manager hanya melihat 12Gb RAM. Satu dari dua hal di sini. Entah sistem Anda benar-benar hanya memiliki RAM 12Gb, atau salah satu stik Anda tidak mendaftar dengan benar. Jika tongkat ram (saya mengasumsikan tongkat 4G 4Gb), mungkin buruk, mungkin tidak duduk sepenuhnya dengan benar di motherboard Anda, atau motherboard Anda mungkin memiliki masalah pendeteksian memori.
Untuk memeriksa apakah ini yang terakhir, Anda harus memperbarui BIOS motherboard Anda terlebih dahulu ke versi terbaru. Saya memiliki masalah yang sama ... enam dudukan ram Tripple-Channel DDR3 saya (6x 2Gb) semuanya baik berdasarkan pengujian masing-masing ... tapi motherboard saya secara acak memutuskan untuk tidak menghitung satu atau dua dari mereka setiap kali, sering meninggalkan saya dengan hanya 8Gb ram. Pembaruan BIOS memperbaiki masalah ini, dan saya memiliki akses yang dapat diandalkan ke semua 12GB memori saya sekarang.
sumber
Ini menggunakan begitu banyak RAM karena dirancang untuk melakukannya. Sama sekali tidak ada biaya yang terkait dengan penggunaan RAM. Bahkan, RAM yang digunakan lebih baik daripada RAM gratis karena sistem operasi tidak perlu melakukan apa pun untuk menggunakannya. Menggunakan RAM gratis membutuhkan membuatnya digunakan yang membutuhkan upaya.
Jika Anda berpikir "Saya ingin RAM gratis sekarang sehingga saya dapat menggunakannya nanti", lupakan saja. RAM tidak harus bebas sekarang untuk digunakan nanti. Anda dapat menggunakannya sekarang dan menggunakannya nanti. Tidak ada tradeoff di sini - sama sekali tidak ada kerugian untuk menggunakan RAM.
RAM tetap digunakan dan secara langsung beralih dari satu penggunaan ke penggunaan lain tanpa harus melalui upaya membuatnya gratis hanya harus membuatnya digunakan lagi. Sistem operasi modern membiarkan RAM gratis hanya ketika mereka tidak punya pilihan lain.
sumber
“Why is Windows using RAM?”
, pertanyaannya adalah“Why do the RAM usage numbers not add up; why is one part reporting a higher usage than another part?”
posting ini sebaiknya merupakan komentar yang terbaik karena tidak membahas pertanyaan aktual atau bahkan upaya untuk menjawabnya; hanya berdentang dengan sedikit saran, dan saran buruk pada itu karena jika OP mengabaikannya seperti yang disarankan, kebocoran memori tidak akan ditemukan.Alasan yang tidak disebutkan di atas adalah Hyper-V.
Saya dapat mengidentifikasinya dengan utilitas RamMap yang sangat baik :
Tangkapan layar berasal dari setelah. Sebelum memori "Driver Locked" melebihi 6GB, lebih dari 80% RAM di mesin ini. Saya harus masuk ke Hyper-V Manager dan menonaktifkan "Memori Dinamis". Anehnya, bahkan setelah mengaktifkannya kembali, memori "Driver Locked" tetap rendah - Saya hanya dapat menduga kejadian sebelumnya meningkatkannya dan Hyper-V tidak secara otomatis mengurangi memori yang dialokasikan:
sumber