Bayangkan saya memiliki banyak RAM. Katakanlah 64GB. Itu banyak bahkan untuk PC gaming. Sekarang lokasi default pagefile di Windows berada pada drive OS utama, baik itu HDD atau SSD, yang lebih cepat secara umum, tetapi masih tidak secepat RAM.
Sesuatu memberi tahu saya bahwa menonaktifkan pagefile pada hard drive atau membuat drive RAM virtual dan membiarkan pagefile ada di sana dapat membuat Windows memindahkan semua memori virtualnya ke RAM, dan dengan demikian meningkatkan kinerja sistem, tetapi saya tidak terlalu berpengetahuan dalam hal itu. daerah, sehingga mungkin tidak benar sama sekali.
Saya mencoba keduanya, tetapi saya tidak bisa menganalisis hasilnya untuk mencapai kesimpulan yang pasti dengan tingkat pengetahuan saya dalam hal-hal memori.
Apakah ini akan berhasil? Jika tidak, mengapa?
sumber
Jawaban:
Tidak peduli berapa banyak RAM yang Anda miliki, Anda ingin sistem dapat menggunakannya secara efisien. Tidak memiliki file paging sama sekali memaksa sistem operasi untuk menggunakan RAM secara tidak efisien karena dua alasan. Pertama, itu tidak dapat membuat halaman dibuang, bahkan jika mereka tidak diakses atau dimodifikasi dalam waktu yang sangat lama, yang memaksa cache disk menjadi lebih kecil. Kedua, harus mencadangkan RAM fisik untuk mendukung alokasi yang sangat tidak mungkin untuk memerlukannya (misalnya, pemetaan file pribadi yang dapat dimodifikasi), yang mengarah ke kasus di mana Anda dapat memiliki banyak RAM fisik gratis dan alokasi ditolak. hindari overcommitting.
Pertimbangkan, misalnya, jika suatu program membuat pemetaan memori pribadi dari file 4GB yang dapat ditulisi. OS harus mencadangkan 4GB RAM untuk pemetaan ini, karena program dapat memodifikasi setiap byte dan tidak ada tempat selain RAM untuk menyimpannya. Jadi segera, 4GB RAM pada dasarnya terbuang (dapat digunakan untuk cache halaman disk bersih, tapi itu saja).
Anda perlu memiliki file halaman jika Anda ingin mendapatkan yang terbaik dari RAM Anda, bahkan jika itu tidak pernah digunakan. Ini bertindak sebagai polis asuransi yang memungkinkan sistem operasi untuk benar-benar menggunakan RAM yang dimilikinya, daripada harus mencadangkannya untuk kemungkinan yang luar biasa tidak mungkin.
Orang-orang yang merancang perilaku sistem operasi Anda bukanlah orang bodoh. Memiliki file paging memberi sistem operasi lebih banyak pilihan, dan itu tidak akan membuat yang buruk.
Tidak ada gunanya mencoba memasukkan file paging ke dalam RAM. Dan jika Anda memiliki banyak RAM, file paging sangat tidak mungkin untuk digunakan (hanya perlu ada di sana) sehingga tidak terlalu penting seberapa cepat perangkat ini aktif.
sumber
Anda sepenuhnya benar dalam asumsi Anda.
Algoritma manajemen memori sangat kompleks dan dengan cara apa pun tidak sempurna. Jadi swapping terjadi bahkan ketika ada banyak RAM cadangan. Pada beberapa sistem, seperti
Linux
, Anda dapat mengontrol swappiness , pada yang lain Anda tidak bisa. Dengan menukar data ketika masih ada banyak RAM, sistem dengan caranya sendiri mempersiapkan situasi ketika mungkin kehabisan RAM.Jadi, menonaktifkan fungsi swapping mungkin memberi Anda peningkatan kinerja karena Anda hanya akan menggunakan RAM yang lebih cepat seperti yang Anda katakan sebelumnya.
Satu hal yang perlu dipertimbangkan (dan sudah Anda sebutkan) - Anda harus memiliki cukup RAM untuk mengakomodasi semua program yang Anda jalankan, jika tidak, Anda berisiko kehabisan memori . Dalam hal ini kinerja akan turun, beberapa proses dapat diakhiri oleh OS dan sistem mungkin mengalami crash / freeze. (baca lebih lanjut di sini )
Pada beberapa mesin, terutama yang menyimpan swap file pada HDD bukan SSD, efek menonaktifkan swapping sangat terlihat. Pada orang lain itu tidak begitu jelas. Tetapi bahkan jika Anda tidak mendapatkan peningkatan yang jelas, pikirkan dengan cara lain, dengan menonaktifkan swapping Anda akan menghemat ruang disk pada SSD Anda.
Dengan menonaktifkan swapping, Anda juga akan mencegah algoritma memori dari melakukan operasi yang tidak perlu - memindahkan data dari RAM ke swap dan sebaliknya - dalam hal SSD ini akan mencegah keausan yang berlebihan. Dan dalam hal apapun ini akan meningkatkan kinerja dengan menghilangkan operasi yang tidak perlu.
Baca juga:
sumber
Bisakah Anda dengan aman menonaktifkan pagefile?
Jika Anda kehabisan memori bebas, termasuk memori virtual, sistem tidak dapat terus menjamin eksekusi deterministik, dan berakhir dengan sendirinya. Sebelum itu terjadi, sistem operasi akan melakukan berbagai hal lain seperti mematikan program yang menggunakan terlalu banyak memori. Yang ingin saya katakan adalah, memori selalu terbatas, dan setiap OS dapat menangani ini. Oleh karena itu membatasi total memori yang tersedia hingga 64 GB tidak akan membahayakan Windows - banyak sistem tidak dapat melampaui 8 GB bahkan dengan pagefile, karena dengan 1 atau 2 GB RAM pagefile biasanya jauh lebih kecil dari 6 atau 7 GB. Perlu dicatat bahwa selama Anda memiliki jumlah berlebihan dari RAM yang tidak digunakan, overhead OS yang mempertahankan pagefile tidak akan dapat diukur.
Apakah masuk akal untuk meletakkan pagefile pada ramdisk?
Untuk menambah memori yang tersedia, kebanyakan jika tidak semua sistem operasi canggih menggunakan beberapa jenis file swap di mana mereka mengambil sebagian memori yang ada dalam RAM dan belum diakses untuk sementara waktu, menulis memori ke harddisk (swapfile alias pagefile ), dan hapus memori dari RAM sehingga tersedia memori lebih cepat. File swap digunakan untuk memperluas ukuran maksimum memori di luar ukuran RAM yang tersedia.
Oleh karena itu, menggunakan ramdisk (yang mengurangi memori yang tersedia dengan ukuran ramdisk) untuk meng-host swapfile (yang meningkatkan memori yang tersedia dengan ukuran swapfile) akan berfungsi, tetapi itu tidak masuk akal. Itu tidak akan menawarkan lebih banyak memori daripada menonaktifkan pagefile, namun masih akan membutuhkan sistem untuk menjalankan algoritma paging.
sumber
Untuk mengulangi apa yang dikatakan orang lain, memindahkan swap ke disk RAM lurus agak tidak ada gunanya (dalam kasus yang paling umum, lihat di bawah). Ini mencapai bahwa pada titik tertentu, ketika sistem kekurangan memori bebas, beberapa data dipindahkan dari RAM ke RAM dengan cara yang agak tidak efisien.
Memiliki swap pada HDD / SSD mencapai bahwa OS dapat menghapus beberapa halaman RAM yang sama sekali tidak digunakan dan menggunakan ruang kosong untuk mis. Cache file atau buffer sistem lainnya. Anda mungkin tidak menyadari bahwa sistem mengalokasikan lebih sedikit buffer RAM ini karena Anda tidak memiliki memori virtual yang tersedia tanpa file halaman; jadi pada dasarnya Anda mungkin menghambat kinerja Anda dengan menonaktifkan swap.
Namun, disk RAM terkompresi sebagai swap drive , drive "ZSWAP", dapat bermanfaat dalam kasus tepi (di mana Anda mungkin hanya perlu beberapa MB RAM tambahan untuk menghindari pertukaran ke HDD) dengan meningkatkan efisiensi ruang dari segmen RAM ke batas tertentu.
sumber
Jika Anda tidak memiliki file halaman, maka dalam kasus BSOD (crash) Windows tidak akan dapat menulis file crash dump. Ini berarti bahwa Anda tidak akan dapat menganalisis masalah dengan menggunakan alat yang sesuai.
Memiliki file halaman dalam RAM tidak berguna, karena mungkin hilang dalam crash.
Untuk informasi lebih lanjut, lihat artikel Microsoft Memahami Crash Dump Files .
sumber
Untuk Windows, dari mulut kuda:
https://blogs.technet.microsoft.com/markrussinovich/2008/11/17/pushing-the-limits-of-windows-virtual-memory/
sumber
Jangan nonaktifkan file swap. Ini bukan hanya untuk saat Anda kehabisan memori. Tidak ada keuntungan kinerja langsung dalam mematikannya , windows hanya membaca dari itu ketika perlu, itu menulis sepanjang waktu sehingga siap kapanpun dibutuhkan.
Anda dapat menguranginya menjadi sekitar 2 / 3rds ukuran memori jika Anda memiliki lebih dari sekitar 4GB, karena menyimpan gambar memori terkompresi. Anda dapat meletakkannya di hard drive Anda yang lebih lambat yang tidak diakses oleh akses disk berat lainnya jika Anda tidak memiliki ruang pada SSD. Tetapi bermanfaat untuk memilikinya di suatu tempat.
Lihat jawaban ini untuk info lebih lanjut mengapa. https://superuser.com/a/286476/4236
sumber
Secara teori, menempatkan pagefile ke dalam RAM seharusnya tidak masuk akal sama sekali, karena Anda hanya menghabiskan apa yang seharusnya Anda peroleh, dan Windows dibangun dengan asumsi bahwa pagefile tidak akan digunakan untuk tujuan seperti itu.
Namun dalam praktiknya, desain dan filosofi yang cacat dapat membuatnya bahkan menjadi kernel Windows, dan manajemen memori Microsoft belum tentu sempurna. Banyak yang telah menemukan bahwa menempatkan pagefile ke dalam Ramdisk memang menghasilkan peningkatan kinerja , selama Anda memiliki jumlah memori yang layak.
Saya mengkompilasi sebuah posting yang menunjukkan kumpulan pengguna seperti itu dari utas forum tunggal yang telah menemukan bahwa meskipun memiliki sejumlah besar RAM gratis, pagefile masih digunakan:
http://www.overclock.net/t/1193401/why-it-is-bad-to-store-the-page-file-on-a-ram-disk/290#post_23508589
sumber
Virtual memory − A paging file is an area on the hard disk that Windows uses as if it were RAM.
Ya, seolah-olah: pMengubah OS yang dirancang pada intinya untuk tidak menggunakan swap jauh lebih sulit daripada kedengarannya.
Mac modern memiliki partisi pemulihan - bagian dari drive utama dengan OS stripped-down yang dapat memperbaiki atau mengembalikan sistem utama. Pada masa DVD-installer mereka menjalankan proses kustom, sistem sekarang membuat RAMdisk untuk partisi swap karena installer tidak dapat dijamin memiliki ruang disk yang tersedia. OS mencakup kerangka kerja yang diperlukan untuk menjalankan perangkat lunak pemeliharaan yang disertakan, yang identik dengan utilitas yang tersedia setelah instalasi. Lebih sedikit pekerjaan untuk semua orang.
Membatasi sistem pada satu aplikasi pada satu waktu berarti ramdisk-swap pada dasarnya tidak pernah digunakan, tetapi OS mengharapkannya ada di sana.
sumber
Jika Anda memiliki cukup memori, jawabannya adalah ya, Anda dapat mematikan swap. Swap dibuat untuk mengatasi keterbatasan RAM dan membuat penggunaannya lebih efisien.
Pertanyaannya sekarang adalah berapa banyak RAM yang cukup RAM? Tidak ada jawaban universal untuk ini dan sistem alami sangat tergantung pada memori. Karena itu, dan kecuali Anda menjalankan lingkungan yang sangat spesifik dan terkontrol, jangan matikan swap.
Segala jenis aksi lain seperti menempatkan swap pada RAM hanya akan membuat lapisan kompleksitas tambahan dan menghabiskan memori yang bisa digunakan secara langsung.
sumber
Sistem saya memiliki RAM 24GB, untuk alasan ini, saya menonaktifkan pagefile untuk mencegah keausan pada SSD saya tanpa masalah. Baru-baru ini saya membuat RAM Disk, menggunakan Memori saya sebesar 4GB untuk menyimpan file Google Chrome Cache, hanya untuk melihat apakah itu akan meningkatkan kinerja game Flash Player online, dan penelusuran web secara umum. Saya telah melihat peningkatan nyata dalam kinerja dari percobaan ini. Karena saya memiliki lebih banyak ruang pada RAM Disk saya, saya mengaktifkan pagefile saya dan mengatur ukuran minimum, dan maksimum menjadi 1GB, dan memindahkannya ke RAM Disk. Meskipun, saya tidak bisa mengatakan bahwa ada peningkatan kinerja, sistem saya tampaknya berjalan lebih stabil.
sumber
Memindahkan pagefile ke RAM adalah gagasan yang konyol. Cukup matikan dan dengan lebih banyak RAM. :)
Manajemen Memori ditangani oleh CPU dan apakah pagefile hidup atau mati membuat tidak ada perbedaan sedikitpun untuk bagaimana halaman diperlakukan. Ini transparan untuk Windows.
Prioritas halaman tidak berubah, halaman akan dibuang sama saja. Pagefiles digunakan oleh CPU sebagai penyimpanan sekunder, bukan OS. Tidak lebih dari level dua cache ketika level satu (RAM) habis.
Contoh cepat dan sangat kotor :, mesin saya memiliki 16GB RAM dan tidak ada pagefile. 5 menit yang lalu dengan 13GB di siaga dan hanya 2GB gratis, saya memuat Fallout 4. Halaman berprioritas rendah dibuang karena Fallout dimuat.
Btw sebagai catatan, Blog Technet 2008 tentang Mendorong Batas Memori Windows sangat menyesatkan - saya akan mengatakan pada titik penipuan. https://i.stack.imgur.com/wXkmi.png Saya juga ragu apakah Markus yang menulisnya, tapi saya harap tidak, karena itu akan mengubah perspektif saya tentang dia .....
Namun ada lubang menganga di artikel yang saya kagum tidak ada yang memilih mengingat seberapa sering blog itu telah direferensikan
Pokoknya di sini ada satu deskripsi yang tidak begitu kabur:
Windows tidak dapat mencapai alamat yang lebih tinggi daripada CPU - itu tidak mungkin.
Tidak peduli apa OS mampu itu masih dibatasi oleh perangkat keras yang dijalankannya .. karena OS sebenarnya adalah CPU itu sendiri (register internal).
OK, jadi pagefile adalah area pada HDD yang digunakan CPU untuk menambah ruang alamat fisik ketika tidak bisa secara fisik atau arsitektur menggunakan lebih banyak RAM.
Pada arsitektur 32bit x86 yang disegmentasi misalnya ada dua segmen 2GB RAM.
Satu dialokasikan ke kernel. 2GB lainnya adalah untuk mode pengguna. Itu semua RAM CPU dapat digunakan dengan 32 pin DRAM, tetapi proses 32bit memiliki 4GB tersedia jadi apa yang harus dilakukan. Yah untungnya CPU dapat menggunakan AKA penyimpanan sekunder hard drive untuk menyimpan 2GB halaman ekstra. Karena memiliki register internal
Lokasi fisik di mana halaman virtual yang dirujuk oleh proses tidak harus disimpan dalam RAM. Tetapi mereka telah disimpan di suatu tempat oleh CPU.
CPU tidak dapat memberikan semua RAM 4GB ke aplikasi, tetapi dapat memberikannya 4GB alamat dengan menggunakan HDD sebagai cache sekunder (yang merupakan semua HDD sebenarnya)
Halaman dipindahkan masuk dan keluar dari RAM melalui mekanisme paging internal, tetapi ini tidak sama dengan pagefile. Paging selalu terjadi ....
Intinya benar-benar tidak rumit. Selama 15 atau lebih tahun terakhir banyak pengguna akhir telah diberi kesan pagefile adalah bagian integral dari Sistem Operasi, tidak. Tidak pernah ada. Kesalahpahaman ini sebagian didorong oleh perusahaan seperti Intel dan Microsoft.
RAM adalah perangkat penyimpanan cepat, Hard Drive adalah perangkat penyimpanan yang lebih lambat, jadi pada dasarnya RAM adalah cache level 1, Hard Drive adalah Level 2 (mengabaikan cache CPU untuk analogi ini). Keduanya dapat diakses oleh CPU.
Jika tidak tersedia RAM yang cukup untuk CPU untuk menyimpan halaman yang diperlukan, HDD dapat digunakan sebagai overflow. Jika ada banyak RAM, maka PF berlebihan.
Hingga Core 2, prosesor Intel memiliki bus DRAM 32pin, dan 32 register berarti CPU memiliki akses ke 4GB RAM, dan 4GB ruang HDD (pagefile). Ini adalah batasan perangkat keras arsitektur, bukan batasan Windows.
Total yang tersedia untuk proses adalah 3.5GB, karena tabel halaman membutuhkan 512MB. Itulah sebabnya 3.5GB muncul di Windows dengan Intel CPU (hingga Core 2). Tambahkan GPU dan bahkan lebih sedikit tersedia.
Xeon dapat mengakses total 32GB RAM, 64GB Ruang Fisik dengan HDD disertakan (pagefile lagi). ( Ini ^ mencakup PAE, -lebih-lebih dengan tautan yang ditambahkan ).
http://www.windowsdevcenter.com/pub/a/windows/2004/04/27/pagefile.html
Sumber tangkapan layar ke-3: Aplikasi Sistem V Antarmuka Biner AMD64 Architecture Processor Supplement Draft Version 0.99.7
Saya bermaksud untuk terus meningkatkan jawaban ini dan menambahkan bahan sumber dan info yang relevan. Saya ingin mencapai keseimbangan antara tidak cukup informasi dan terlalu banyak informasi teknis. Saran disambut. Tolong jangan downvote hanya karena mungkin tidak ditulis dengan baik.
sumber