pengembangan-web-mp.com

Adakah manfaat atau kerugian dari menghapus pagefile pada mesin 8 GB RAM?

Saya menjalankan Windows 7 pada dual core, x64 AMD dengan 8 GB RAM.

Apakah saya memerlukan file halaman?

Akankah menghapusnya membantu atau merusak kinerja?

Apakah akan ada bedanya jika ini adalah server atau desktop?

Apakah Windows 7 vs Windows 2008 membuat perbedaan dengan file halaman?

213
Jason

TL; Versi DR: Biarkan Windows menangani pengaturan memori/pagefile Anda. Orang-orang di MS telah menghabiskan banyak banyak lebih banyak memikirkan masalah ini daripada kebanyakan dari kita sysadmin.

Banyak orang tampaknya beranggapan bahwa Windows mendorong data ke pagefile sesuai permintaan. EG: sesuatu membutuhkan banyak memori, dan tidak ada cukup RAM untuk memenuhi kebutuhan, jadi Windows mulai menulis data dari RAM ke disk pada saat ini) menit terakhir, sehingga dapat membebaskan RAM untuk tuntutan baru.

Ini salah. Ada lagi yang terjadi di bawah tenda. Secara umum, Windows menyimpan backing store , yang berarti ia ingin melihat semua yang ada di memori juga di disk di suatu tempat. Sekarang, ketika sesuatu datang dan menuntut banyak memori, Windows dapat menghapus RAM sangat cepat, karena data itu sudah sudah pada disk, siap untuk di-paged kembali ke RAM jika dipanggil. Jadi dapat dikatakan bahwa banyak dari apa yang ada di pagefile adalah juga di RAM; data itu sebelumnya ditempatkan di pagefile untuk mempercepat baru permintaan alokasi memori.

Menjelaskan mekanisme spesifik yang terlibat akan membutuhkan banyak halaman (lihat bab 7 dari Windows Internals , dan perhatikan bahwa edisi bar akan segera tersedia), tetapi ada beberapa hal yang bagus untuk mencatat. Pertama, banyak dari apa yang ada dalam RAM secara intrinsik sudah ada pada 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 yang mana dalam RAM paling sering digunakan, dan jadi dihapus dari RAM bahwa data yang sudah terlama 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 lain - atau OS itu sendiri (!!) membutuhkan akses ke data itu, OS harus halaman mereka dari backing store pada disk, menyebabkan banyak thrashing. 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 berkurangnya kinerja di bawah skenario pemanfaatan sumber daya puncak.

Beberapa referensi:

catatan dmo baru-baru ini posting Eric Lippert yang membantu dalam pemahaman memori virtual (meskipun kurang terkait dengan pertanyaan). Saya meletakkannya di sini karena saya menduga beberapa orang tidak akan menggulir ke bawah ke jawaban lain - tetapi jika Anda menganggapnya berharga, Anda berhutang dmo suara , jadi gunakan tautan untuk sampai ke sana!

302
quux

Eric Lippert baru-baru ini menulis entri blog yang menggambarkan bagaimana Windows mengelola memori. Singkatnya, model memori Windows dapat dianggap sebagai disk store di mana RAM bertindak sebagai cache peningkatan kinerja.

80
dmo

Seperti yang saya lihat dari jawaban lain saya satu-satunya yang menonaktifkan file halaman dan tidak pernah menyesalinya. Hebat: -)

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 bekerja bersama. Saya jarang mencapai 80% dari memori.

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 menunjukkan sendiri satu demi satu, tetapi sekaligus. Juga waktu startup Firefox/Thunderbird meningkat secara dramatis. Semuanya mulai bekerja 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 ini dari Windows XP kali saya.
Saat Anda mencoba memuat Tabel Pivot 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 sekitar satu menit hingga sistem memuat semuanya kembali dari file halaman.
Seperti yang saya lihat nanti, 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.

Edit: Saya hanya ingin menambahkan bahwa saya menginstal Windows Vista SP2 tanpa masalah.

48
SeeR

Anda mungkin ingin melakukan beberapa pengukuran untuk memahami bagaimana sistem Anda sendiri menggunakan memori sebelum melakukan penyesuaian pagefile. Atau (jika Anda masih ingin melakukan penyesuaian), sebelum dan setelah mengatakan penyesuaian.

Perfmon adalah alat untuk ini; tidak Pengelola Tugas. Penghitung utama adalah Memori - Input Halaman/detik. Ini akan secara khusus membuat grafik hard kesalahan halaman, yang mana pembacaan dari disk diperlukan sebelum proses dapat dilanjutkan. Kesalahan halaman lunak (yang merupakan sebagian besar item yang digambarkan dalam default Kesalahan Halaman/detik penghitung; Saya sarankan mengabaikan penghitung itu!) Bukan masalah; mereka hanya menunjukkan item yang sedang dibaca dari RAM biasanya.

Perfmon graph http://g.imagehost.org/0383/perfmon-paging.png

Di atas adalah contoh sistem tanpa kekhawatiran, dari sisi memori. Sangat kadang-kadang ada lonjakan kesalahan hard - 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 grafik Memori - Input Halaman/detik yang jauh lebih spikier daripada yang 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 instance). Ini akan menunjukkan seberapa besar perubahan Anda memengaruhi penggunaan disk itu sendiri. Sistem yang berperilaku baik akan menunjukkan penghitung ini rata-rata pada 4 atau kurang per spindle.

35
quux

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 dapat merekomendasikan menonaktifkan file halaman Anda.

Ya, itu akan bekerja sangat baik sebagian besar waktu. Tapi saat rusak itu mungkin menyakitkan.

34
Sam

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 paging file berukuran besar cukup untuk menahan mereka).

Saya sangat suka artikel Markus.

19
Radim Cernej

Jawaban terbaik yang bisa 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 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.

13
Dave Drager

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 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 kembali akar masalahnya.

Apakah Anda kehabisan ruang disk? Saya akan menyimpan minimal 1 GB untuk dapat memiliki dump kernel jika BSoD.

6
Mathieu Chateau

Satu-satunya orang yang dapat memberi tahu Anda jika server atau workstation Anda "perlu" 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 yang menggunakan memori tertinggi 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 pembunuhan angka penggunaan memori.

Apa yang saya dapat katakan kepada Anda adalah bahwa 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.

5
Rob Moir

Saya menonaktifkan file halaman saya (8 GB pada laptop x86) dan memiliki dua masalah bahkan dengan 2500 MB gratis:

  1. 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 !!

  2. Mendapatkan Tutup program untuk mencegah kehilangan informasi dialog: Ketika 75% dari 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.

5
Simon

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 "gratis" Anda RAM digunakan sebagai cache file!

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 keluar dari fisik RAM (dan semua file buffer telah dibuang) maka saya akan berpikir ada sedikit untung dari menonaktifkan file halaman.

2
PP.

Total memori Anda yang tersedia adalah file halaman + memori aktual Anda.

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!

2
John Lim