"Input Halaman / detik adalah penghitung yang harus ditonton, tetapi Anda tidak perlu khawatir" swapping "karena windows tidak menggunakan file halaman seperti * nixes lakukan.
Pertama, Anda perlu memahami bahwa halaman windows tidak keluar. Saya akan mengutip bagian relevan dari posting blog Eric Lipperts (diedit dengan ringan) karena saya sendiri tidak bisa mengatakannya:
"RAM dapat dilihat hanya sebagai pengoptimalan kinerja. Mengakses data dalam RAM, tempat informasi disimpan dalam medan listrik yang merambat dengan kecepatan cahaya jauh lebih cepat daripada mengakses data pada disk, di mana informasi disimpan dalam jumlah besar, berat molekul logam besi
Sistem operasi melacak halaman penyimpanan mana dari proses yang paling sering diakses, dan membuat salinannya dalam RAM, untuk mendapatkan peningkatan kecepatan. Ketika suatu proses mengakses pointer yang sesuai dengan halaman yang saat ini tidak di-cache dalam RAM, sistem operasi melakukan "kesalahan halaman", keluar ke disk, dan membuat salinan halaman dari disk ke RAM, membuat asumsi yang masuk akal bahwa itu akan diakses lagi dalam waktu dekat.
Sistem operasinya juga sangat pintar berbagi sumber daya read-only. Jika dua proses keduanya memuat halaman kode yang sama dari DLL yang sama, maka sistem operasi dapat berbagi cache RAM antara kedua proses. Karena kode ini mungkin tidak akan diubah oleh proses mana pun, sangat masuk akal untuk menyimpan halaman duplikat RAM dengan membagikannya.
Tetapi bahkan dengan berbagi yang cerdik, akhirnya sistem caching ini akan kehabisan RAM. Ketika itu terjadi, sistem operasi membuat perkiraan tentang halaman mana yang paling tidak mungkin diakses lagi segera, menuliskannya ke disk jika mereka telah berubah, dan membebaskan RAM itu untuk membaca sesuatu yang lebih mungkin diakses lagi segera.
Ketika sistem operasi menebak dengan tidak benar, atau, lebih mungkin, ketika tidak ada cukup RAM untuk menyimpan semua halaman yang sering diakses di semua proses yang berjalan, maka mesin mulai "meronta-ronta". Sistem operasi menghabiskan semua waktunya untuk menulis dan membaca penyimpanan disk yang mahal, disk berjalan terus-menerus, dan Anda tidak dapat menyelesaikan pekerjaan.
Ini juga berarti bahwa "kehabisan RAM" jarang menghasilkan kesalahan "kehabisan memori". Alih-alih kesalahan, itu menghasilkan kinerja yang buruk karena biaya penuh dari fakta bahwa penyimpanan sebenarnya pada disk tiba-tiba menjadi relevan.
Cara lain untuk melihat ini adalah bahwa jumlah total memori virtual yang dikonsumsi oleh program Anda benar-benar tidak relevan dengan kinerjanya. Yang relevan bukanlah jumlah total memori virtual yang dikonsumsi, melainkan (1) berapa banyak memori yang tidak dibagi dengan proses lain, (2) seberapa besar "set kerja" dari halaman yang umum digunakan, dan ( 3) apakah set kerja semua proses aktif lebih besar dari RAM yang tersedia.
Sekarang sudah jelas mengapa kesalahan "kehabisan memori" biasanya tidak ada hubungannya dengan berapa banyak memori fisik yang Anda miliki, atau berapa banyak penyimpanan yang tersedia. Ini hampir selalu tentang ruang alamat, yang pada Windows 32 bit relatif kecil dan mudah terfragmentasi. "
Beberapa poin tambahan:
- dll dan file program selalu di-paged, tidak pernah keluar karena sudah ada di disk (dan biasanya halaman pertama dibebaskan ketika ram fisik semakin rendah)
- Anda jauh lebih mungkin untuk kehabisan entri tabel halaman gratis atau memiliki memori yang sangat terfragmentasi daripada masalah memori lainnya (selain kinerja buruk secara keseluruhan seperti yang telah disebutkan
- bahkan jika Anda menjalankan tanpa file halaman Anda masih bisa mendapatkan kesalahan halaman
- Secara umum, melihat memori yang dikomit lebih menceritakan bagaimana suatu proses menggunakan memori
untuk gambaran lengkap tentang cara kerja manajemen memori di windows lihat
Virtual-Memory Manager di Windows NT
jika Anda pikir Anda memiliki masalah memori, saya sarankan menonton presentasi ini pada pemecahan masalah memori windows
Berikut adalah penjelasan yang bagus tentang mengapa kadang-kadang Anda mendapatkan "kehabisan memori" ketika Anda tidak berkat fragmentasi memori:
Lihat juga Mendorong Batas Windows: Memori Fisik
Lebih lanjut tentang Memori Virtual, Memori Fragmentasi dan Kebocoran, dan WOW64
RAM, Memori Virtual, Pagefile dan semua itu (dukungan microsoft)
Memperbarui:
Windows 10 melakukan sesuatu yang sedikit berbeda dengan memori dan, seiring waktu Anda akan melihat proses yang disebut "Sistem dan memori terkompresi" Windows 10 menambahkan "toko kompresi" ke daftar paging out. Ram ini adalah memori USER yang dimiliki oleh sistem (biasanya sistem hanya memiliki memori kernel) Memori ini dikompresi di tempat untuk pengurangan rata-rata sekitar 30%. Hal ini memungkinkan lebih banyak halaman untuk disimpan dalam memori (bagi Anda yang melakukan perhitungan matematika itu 70% lebih banyak ruang) Perhatikan bahwa jika memori masih memiliki tekanan maka halaman dari toko kompresi (mode pengguna ruang proses Sistem) dapat ditempatkan pada modifikasi daftar (dikompresi) yang kemudian dapat ditulis ke file halaman fisik. Sistem akan melihat mereka berasal dari ruang mode pengguna sistem dan dikompresi dan tidak akan mencoba memasukkannya kembali ke dalam toko. Jadi pada sistem windows 10 mungkin terlihat seperti sistem menghirup ram tetapi sebenarnya itu hanya mencoba untuk menjadi lebih efisien dalam menggunakan ram. Pengguna Mac telah menggunakan fitur serupa sejak 2013, dan versi terbaru dari kernel Linux menggunakan versi kompresi memori. Metode menghemat memori ini tidak hanya lebih baik, tetapi sudah umum di antara sistem operasi lain.