Jawaban:
TL; Versi DR: Biarkan Windows menangani pengaturan memori / pagefile Anda. Orang-orang di MS telah menghabiskan lebih banyak waktu memikirkan masalah ini daripada kebanyakan dari kita sysadmin.
Banyak orang tampaknya beranggapan bahwa Windows mendorong data ke pagefile sesuai permintaan. EG: sesuatu menginginkan banyak memori, dan tidak ada cukup RAM untuk memenuhi kebutuhan, sehingga Windows mulai dengan gila-gilaan menulis data dari RAM ke disk pada menit terakhir ini, sehingga dapat membebaskan RAM untuk tuntutan baru.
Ini salah. Ada lagi yang terjadi di bawah tenda. Secara umum, Windows memiliki backing store , yang berarti ingin melihat semua yang ada di memori juga di disk di suatu tempat. Sekarang, ketika sesuatu datang dan menuntut banyak memori, Windows dapat membersihkan RAM dengan sangat cepat, karena data tersebut sudah ada di disk, siap untuk di-paged kembali ke dalam RAM jika diperlukan. Jadi dapat dikatakan bahwa banyak dari apa yang ada di pagefile juga dalam RAM; data itu Terlebih Dahulu ditempatkan di pagefile untuk mempercepat baru tuntutan alokasi memori.
Menggambarkan mekanisme spesifik yang terlibat akan membutuhkan banyak halaman (lihat bab 7 Windows Internal , dan perhatikan bahwa edisi baru akan segera tersedia), tetapi ada beberapa hal yang baik untuk dicatat. Pertama, banyak dari apa yang ada di RAM sudah secara intrinsik ada di disk - kode program diambil dari file yang dapat dieksekusi atau DLL misalnya. Jadi ini tidak perlu ditulis ke pagefile; Windows hanya dapat melacak dari mana bit awalnya diambil. Kedua, Windows melacak data mana dalam RAM yang paling sering digunakan, dan dengan demikian menghapus dari RAM bahwa data yang sudah lama tanpa diakses.
Menghapus pagefile sepenuhnya dapat menyebabkan lebih banyak meronta-ronta disk. Bayangkan skenario sederhana di mana beberapa aplikasi diluncurkan dan menuntut 80% dari RAM yang ada. Ini akan memaksa kode yang dapat dieksekusi saat ini keluar dari RAM - bahkan mungkin kode OS. Sekarang setiap kali aplikasi-aplikasi lain - atau OS itu sendiri (!!) membutuhkan akses ke data itu, OS harus membuka halaman mereka dari backing store pada disk, yang menyebabkan banyak meronta-ronta. Karena tanpa pagefile untuk berfungsi sebagai backing store untuk data sementara, satu-satunya hal yang dapat dipetakan adalah executable dan DLL yang memiliki backing store bawaan untuk memulai.
Tentu saja ada banyak skenario sumber daya / pemanfaatan. Bukan tidak mungkin bahwa Anda memiliki salah satu skenario di mana tidak akan ada efek samping dari menghapus pagefile, tetapi ini adalah minoritas. Dalam kebanyakan kasus, menghapus atau mengurangi pagefile akan menyebabkan penurunan kinerja di bawah skenario pemanfaatan sumber daya puncak.
Beberapa referensi:
Dmo mencatat posting Eric Lippert baru-baru ini yang membantu dalam memahami memori virtual (meskipun kurang terkait dengan pertanyaan). Aku meletakkan di sini karena saya menduga beberapa orang tidak akan gulir ke bawah untuk jawaban yang lain - tetapi jika Anda merasa berharga, Anda berutang DMO suara, jadi gunakan link ke sana!
Eric Lippert baru-baru ini menulis entri blog yang menjelaskan bagaimana Windows mengelola memori. Singkatnya, model memori Windows dapat dianggap sebagai disk store di mana RAM bertindak sebagai cache peningkatan kinerja.
Seperti yang saya lihat dari jawaban lain saya satu-satunya yang menonaktifkan file halaman dan tidak pernah menyesalinya. Bagus :-)
Baik di rumah maupun di kantor saya memiliki Vista 64-bit dengan 8 GB RAM. Keduanya memiliki file halaman dinonaktifkan. Di tempat kerja tidak ada yang aneh bagi saya untuk memiliki beberapa contoh Visual Studio 2008, Virtual PC dengan Windows XP, 2 contoh SQL Server dan Internet Explorer 8 dengan banyak tab yang bekerja bersama. Memori saya jarang mencapai 80%.
Saya juga menggunakan tidur hibrida setiap hari (hibernasi dengan tidur) tanpa masalah.
Saya mulai bereksperimen dengan itu ketika saya memiliki Windows XP dengan 2 GB RAM dan saya benar-benar melihat perbedaannya. Contoh klasik adalah ketika ikon di Control Panel berhenti menampilkan dirinya satu per satu, tetapi sekaligus. Juga waktu startup Firefox / Thunderbird meningkat secara dramatis. Semuanya mulai berfungsi segera setelah saya mengklik sesuatu. Sayangnya 2 GB terlalu kecil untuk penggunaan aplikasi saya (Visual Studio 2008, Virtual PC dan SQL Server), jadi saya mengaktifkannya kembali.
Tetapi sekarang dengan 8 GB saya tidak pernah ingin kembali dan mengaktifkan file halaman.
Bagi mereka yang mengatakan tentang kasus ekstrim, ambil yang ini dari masa Windows XP saya.
Saat Anda mencoba memuat Pivot Table besar di Excel dari kueri SQL, Excel 2000 meningkatkan penggunaan memorinya dengan cukup cepat.
Ketika Anda memiliki file halaman dinonaktifkan - Anda menunggu sedikit dan kemudian Excel akan meledak dan sistem akan menghapus semua memori setelahnya.
Ketika Anda memiliki file halaman diaktifkan - Anda menunggu beberapa saat dan ketika Anda akan melihat bahwa ada sesuatu yang salah, Anda hampir tidak dapat melakukan apa pun dengan sistem Anda. HDD Anda bekerja sangat keras dan bahkan jika Anda entah bagaimana berhasil menjalankan Task Manager (setelah beberapa menit menunggu) dan membunuh excel.exe
Anda harus menunggu beberapa menit sampai sistem memuat semuanya kembali dari file halaman.
Seperti yang saya lihat kemudian, Excel 2003 menangani tabel pivot yang sama tanpa masalah dengan file halaman dinonaktifkan - jadi itu bukan "masalah dataset terlalu besar".
Jadi menurut saya, file halaman yang dinonaktifkan bahkan kadang-kadang melindungi Anda dari aplikasi yang ditulis dengan buruk.
Singkatnya: jika Anda mengetahui penggunaan memori Anda - Anda dapat dengan aman menonaktifkannya.
Sunting: Saya hanya ingin menambahkan bahwa saya menginstal Windows Vista SP2 tanpa masalah.
Anda mungkin ingin melakukan beberapa pengukuran untuk memahami bagaimana sistem Anda sendiri menggunakan memori sebelum membuat penyesuaian pagefile. Atau (jika Anda masih ingin melakukan penyesuaian), sebelum dan sesudah penyesuaian kata.
Perfmon adalah alat untuk ini; bukan Task Manager. Penghitung utama adalah Memori - Input Halaman / detik . Ini secara khusus akan membuat grafik kesalahan halaman keras , yang mana membaca dari disk diperlukan sebelum proses dapat dilanjutkan. Kesalahan halaman lunak (yang merupakan sebagian besar item yang digambarkan dalam penghitung kesalahan halaman / detik standar ; Saya sarankan mengabaikan penghitung itu!) Tidak benar-benar masalah; mereka hanya menunjukkan item yang dibaca dari RAM secara normal.
Grafik Perfmon http://g.imagehost.org/0383/perfmon-paging.png
Di atas adalah contoh sistem tanpa kekhawatiran, dari sisi memori. Sangat kadang-kadang ada lonjakan kesalahan keras - ini tidak dapat dihindari, karena hard disk selalu lebih besar dari RAM. Tetapi grafik sebagian besar datar di nol. Jadi OS adalah paging-in dari backing store sangat jarang.
Jika Anda melihat Memory - Pages Input / sec grafik yang jauh lebih spikier daripada yang satu ini, respons yang tepat adalah menurunkan penggunaan memori (menjalankan lebih sedikit program) atau menambah RAM. Mengubah pengaturan pagefile Anda tidak akan mengubah fakta bahwa lebih banyak memori yang diminta dari sistem daripada yang sebenarnya.
Penghitung tambahan berguna untuk memantau adalah PhysicalDisk - Avg. Panjang Antrian (semua contoh). Ini akan menunjukkan seberapa besar perubahan Anda memengaruhi penggunaan disk itu sendiri. Sistem yang berperilaku baik akan menunjukkan penghitung ini rata-rata 4 atau kurang per spindle .
Saya telah menjalankan kotak 8 GB Vista x64 saya tanpa file halaman selama bertahun-tahun, tanpa masalah.
Masalah memang muncul ketika saya benar-benar menggunakan memori saya!
Tiga minggu yang lalu, saya mulai mengedit file gambar yang sangat besar (~ 2 GB) di Photoshop. Satu sesi pengeditan memakan semua ingatanku. Masalah: Saya tidak dapat menyimpan pekerjaan saya karena Photoshop membutuhkan lebih banyak memori untuk menyimpan file!
Dan karena itu Photoshop sendiri, yang memakan semua memori, saya bahkan tidak bisa membebaskan memori dengan menutup program (well, saya lakukan, tapi itu terlalu sedikit untuk bisa membantu).
Yang bisa saya lakukan adalah memo pekerjaan saya, aktifkan file halaman saya dan ulangi semua pekerjaan saya - saya kehilangan banyak pekerjaan karena ini dan tidak bisa merekomendasikan menonaktifkan file halaman Anda.
Ya, sebagian besar waktu akan bekerja dengan baik. Tetapi saat rusak mungkin menyakitkan.
Sementara jawaban di sini mencakup topik dengan cukup baik, saya masih akan merekomendasikan ini dibaca:
http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx
Dia berbicara tentang ukuran PF hampir di akhir:
Beberapa merasa tidak memiliki file paging menghasilkan kinerja yang lebih baik, tetapi secara umum, memiliki file paging berarti Windows dapat menulis halaman pada daftar yang dimodifikasi (yang mewakili halaman yang tidak diakses secara aktif tetapi belum disimpan ke disk) keluar ke paging file, sehingga membuat memori itu tersedia untuk tujuan yang lebih bermanfaat (proses atau cache file). Jadi sementara mungkin ada beberapa beban kerja yang berkinerja lebih baik tanpa file paging, secara umum memiliki satu akan berarti lebih banyak memori yang dapat digunakan tersedia untuk sistem (apalagi Windows tidak akan dapat menulis dump crash kernel tanpa file paging berukuran besar cukup untuk menahan mereka).
Saya sangat suka artikel Markus.
Jawaban terbaik yang dapat saya pikirkan adalah bahwa di bawah beban normal Anda mungkin tidak menggunakan 8 GB, tetapi itu adalah beban yang tidak terduga di mana Anda akan mengalami masalah.
Dengan file halaman, sistem setidaknya akan berjalan lambat setelah mulai memukul halaman. Tetapi jika Anda menghapus file halaman itu hanya akan mati (dari apa yang saya tahu).
Juga, 8 GB sepertinya sudah banyak sekarang, tetapi beberapa tahun kemudian mungkin dianggap sebagai jumlah minimum memori untuk banyak perangkat lunak.
Either way - Saya akan merekomendasikan menyimpan setidaknya file halaman kecil; tetapi yang lain tolong perbaiki saya jika saya tidak berada di tempat.
Anda tidak menyebutkan apakah itu edisi Windows 64-bit, tapi saya kira ya.
Pagefile melayani banyak hal, termasuk menghasilkan dump memori jika BSoD (Blue Screen of Death).
Jika Anda tidak memiliki pagefile, Windows tidak akan dapat keluar ke disk jika tidak ada cukup memori. Anda mungkin berpikir bahwa dengan 8 GB Anda tidak akan mencapai batas itu. Tetapi Anda mungkin memiliki program buruk yang bocor dari waktu ke waktu.
Saya pikir itu tidak akan membiarkan Anda pergi hibernate / standby tanpa pagefile (tapi saya belum mencoba).
Windows 7/2008 / Vista tidak mengubah penggunaan file halaman.
Saya melihat satu penjelasan dari Mark Russinovich (Microsoft Fellow) menjelaskan bahwa Windows bisa lebih lambat tanpa file halaman daripada dengan file halaman (bahkan dengan banyak RAM). Tetapi saya tidak dapat menemukan akar penyebabnya.
Apakah Anda kehabisan ruang disk? Saya akan menyimpan minimal 1 GB untuk dapat memiliki dump kernel jika BSoD.
Saya menonaktifkan file halaman saya (8 GB pada laptop x86) dan memiliki dua masalah bahkan dengan 2500 MB gratis:
Kesalahan ASP.NET mencoba mengaktifkan layanan WCF : Pemeriksaan gerbang memori gagal karena memori bebas (399.556.608 byte) kurang dari 5% dari total memori. Akibatnya, layanan tidak akan tersedia untuk permintaan yang masuk. Untuk mengatasi ini, kurangi beban pada mesin atau sesuaikan nilai minFreeMemoryPercentageToActivateService pada elemen konfigurasi serviceHostingEnvironment.
Cukup 3,7 GB kurang dari 5% dari 8 GB saya tidak akan pernah tahu !!
Mendapatkan program Tutup untuk mencegah dialog kehilangan informasi : Ketika 75% RAM saya digunakan, saya mendapatkan kotak dialog yang memberitahu saya untuk menutup program. Anda dapat menonaktifkan ini dengan modifikasi registri (atau mungkin dengan menonaktifkan 'Layanan Kebijakan Diagnostik').
Pada akhirnya saya memutuskan untuk menyalakannya kembali. Windows sekadar dan sederhana tidak pernah dirancang untuk digunakan tanpa file halaman. Ini dioptimalkan untuk dijalankan dengan paging, bukan tanpa. Jika Anda berencana menggunakan lebih dari 75% memori Anda dan Anda tidak ingin mengacaukan registri Anda - mungkin itu bukan untuk Anda.
Satu-satunya orang yang dapat memberi tahu Anda jika server atau workstation Anda "membutuhkan" file halaman adalah Anda , dengan hati-hati menggunakan monitor kinerja atau apa pun namanya hari ini. Aplikasi apa yang Anda jalankan, penggunaan apa yang mereka lihat, dan apa penggunaan memori setinggi mungkin yang berpotensi Anda lihat?
Apakah stabilitas layak dikompromikan demi menghemat sejumlah menit uang pada hard disk yang lebih kecil?
Apa yang terjadi ketika Anda mengunduh tambalan yang sangat besar, katakanlah paket layanan. Jika layanan pemasang memutuskan perlu lebih banyak memori daripada yang Anda duga untuk membongkar tambalan, lalu bagaimana? Jika pemindai virus Anda (benar) memutuskan untuk memindai paket yang sangat besar ini, penggunaan memori seperti apa yang diperlukan saat membongkar dan memindai file tambalan ini - Saya harap file tambalan patch tidak mengandung arsip apa pun, karena itu akan benar-benar angka penggunaan memori pembunuhan .
Apa yang dapat saya katakan adalah menghapus file halaman Anda memiliki kemungkinan yang jauh lebih tinggi untuk terluka daripada membantu. Saya tidak dapat melihat alasan mengapa Anda tidak akan memilikinya - saya yakin mungkin ada beberapa kasus spesialis di mana saya salah dalam hal itu, tetapi itu adalah bidang lain.
Total memori Anda yang tersedia adalah file halaman Anda + memori aktual.
Pertanyaan kuncinya adalah apakah total penggunaan memori yang diantisipasi untuk semua aplikasi dan penggunaan sistem operasi mendekati 8 GB. Jika penggunaan mem rata-rata Anda adalah 2 GB dan penggunaan memori maks Anda hanya 4 GB maka memiliki file halaman tidak ada gunanya. Jika penggunaan memori maks Anda lebih dekat ke 6-7 Gb atau lebih besar dari itu adalah ide yang baik untuk memiliki file halaman.
PS: Jangan lupa untuk memungkinkan pertumbuhan di masa depan!
Tampaknya banyak orang yang sangat terbatas memiliki pendapat tentang hal ini tetapi tidak pernah benar-benar mencoba menjalankan komputer mereka tanpa file halaman.
Beberapa, jika hampir tidak ada, telah mencoba. Bahkan kurang tahu bagaimana Windows memperlakukan pagefile. Itu tidak "hanya" mengisi ketika Anda kehabisan RAM fisik. Saya yakin sebagian besar dari Anda bahkan tidak tahu bahwa "bebas" RAM Anda digunakan sebagai file cache!
Anda BISA mendapatkan peningkatan kinerja besar-besaran dengan menonaktifkan file halaman Anda. Sistem Anda AKAN lebih rentan terhadap kesalahan kehabisan memori (dan apakah Anda tahu bagaimana aplikasi Anda merespons dalam skenario itu - sebagian besar OS hanya menghentikan aplikasi). Waktu start-up dari siaga atau periode idle lama akan jauh lebih cepat.
Jika Microsoft benar-benar mengizinkan Anda untuk mengatur opsi di mana HANYA halamanfile digunakan ketika kehabisan RAM fisik (dan semua buffer file telah dibuang) maka saya akan berpikir ada sedikit keuntungan dari menonaktifkan pagefile.
Ini adalah antidotal, tetapi kami menjalankan Terminal Server Windows Server 2003 untuk sekitar 20 pengguna, dengan 10-15 login sekaligus dan memiliki RAM 8 GB. Kami tidak menjalankan dengan file halaman dan server kami berjalan lebih cepat daripada sebelumnya. Ini jelas bukan solusi untuk semuanya, tetapi kami telah menjalankan seperti ini selama dua tahun sekarang, dan tidak memiliki masalah yang saya sadari.