Haruskah saya menonaktifkan file swap jika saya memiliki banyak RAM atau haruskah saya memindahkannya ke drive RAM virtual?


97

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?


57
Memiliki file paging pada disk RAM tidak pernah menyelesaikan apa pun. Anda mengambil sejumlah memori yang tersedia dan menambahkan sejumlah memori virtual. Jumlah total. Tidak punya file paging.
usr

14
Masuk akal untuk melakukan ini di Linux dalam beberapa kasus di mana ram disk hosting file swap sebenarnya dikompresi. Lihat: en.wikipedia.org/wiki/Zram . Namun saya tidak berpikir Windows memiliki fitur seperti itu.
Matt H

2
Jawabannya adalah ya tetapi ada banyak orang yang tidak percaya.
Mehrdad

14
@ user367257 membuat ram disk untuk menyimpan file halaman Anda seperti meminjamkan teman Anda £ 10 sehingga ia memiliki cukup uang untuk memungkinkan Anda meminjam £ 10 darinya. Mungkin secara teknis mungkin, tetapi semua yang telah Anda capai adalah menyulitkan perjalanan ke mana-mana.
Rob Moir

2
Saya akan (dan melakukan) hanya mematikannya untuk SSD, karena Anda hanya mendapatkan begitu banyak menulis (bahkan jika banyak sekarang), dengan 6GB. Itu bekerja dengan baik.
Ry-

Jawaban:


134

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.


9
Saya bertentangan dengan downvote. Tetapi untuk komentar terakhir Anda: Saya menjalankan 2 mesin yang berbeda tanpa swap. Tidak apa-apa jika Anda tahu persis bagaimana mesin akan digunakan.
spudone

6
Saya menduga file halaman dalam ramdrive dimulai sebagai "solusi" kultus kargo karena fakta bahwa beberapa perangkat lunak akan menolak untuk memulai jika mendeteksi tidak ada file halaman. (Saya diberi tahu alat grafis / video Adobe melakukan ini.)
Dan Neely

8
@ DavidSchwartz Informasi yang Anda berikan secara teknis benar, dan itu informasi yang baik untuk diketahui. Tetapi kesimpulan bahwa Anda harus selalu memiliki file halaman terlepas dari berapa banyak RAM yang Anda miliki tidak benar dan saya mendukung klaim saya bahwa ini seharusnya bukan jawaban yang diterima.
Jason Wheeler

5
Saya hanya tidak suka mendengar bahwa "pagefiles itu ajaib jadi jangan matikan atau Anda akan menyesal" ketika saya tahu bahwa dalam banyak keadaan umum Anda dapat mematikannya, dan melihat peningkatan kinerja dengan aman karena Anda tidak lagi meningkatkan I / O disk sebesar 100% atau lebih tinggi setiap kali MMS ingin melakukan sesuatu. Yang ingin saya dengar dari orang-orang di sisi lain dari debat ini adalah "ya, ada beberapa kondisi di mana Anda dapat mematikannya dan mengurangi disk I / O yang dapat mengakibatkan meronta-ronta". Saya tidak mengatakan bahwa pagefiles selalu buruk, mungkin Anda bisa mengatakan bahwa itu tidak selalu diperlukan.
Fred Hamilton

5
Saya menyadari apa yang membuat saya gusar tentang semua ini adalah bahwa satu sisi sepertinya mengatakan "pagefiles tidak pernah melakukan apa pun selain yang baik" dan sisi lainnya adalah "pagefiles itu mengerikan" dan kemudian orang-orang bercokol di satu sisi atau sisi lain. "Kebenaran" adalah bahwa dalam beberapa kasus mereka sangat berguna dan bahkan mencegah crash dan dalam kasus lain mereka tidak diperlukan dan benar-benar dapat menyebabkan kinerja menurun. Saya senang dengan itu sebagai pernyataan terakhir saya terlepas. Hidup panjang dan makmur, @ David Schwartz.
Fred Hamilton

32

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:


2
@ ChrisH Anda juga mungkin tidak akan dapat memuat database sql ke dalam pengolah kata, karena mereka berjalan sepenuhnya dalam RAM :-)
TylerH

9
Jawaban ini salah dan mengandung banyak informasi yang salah. Tetapi cara sederhana untuk melihat mengapa itu salah adalah ini - orang-orang yang merancang perilaku memori sistem operasi Anda mungkin adalah beberapa orang terpintar di dunia. Mengapa mereka merancang sistem sedemikian rupa sehingga memberikan lebih banyak opsi (opsi untuk bertukar jika, dan hanya jika, ia berpikir itu yang terbaik) akan membuat kinerjanya lebih buruk? Hanya orang idiot yang akan merancang sistem seperti itu.
David Schwartz

17
@ Davidvidchwartz, saya tidak melihat bagaimana fakta bahwa orang-orang yang mengembangkan algoritma manajemen memori cerdas, membuat perbedaan apa pun dengan subjek asli. OP telah bertanya apakah penonaktifan penonaktifan dapat meningkatkan kinerja dan saya telah menjelaskan bahwa penukaran itu dapat, dalam kondisi tertentu dan dapat menyebabkan masalah dalam kondisi lain. Menjawab pertanyaan Anda tentang mengapa (?) - Saya dapat mengatakan, karena algoritme tidak sempurna dan terserah kepada pengguna untuk menyempurnakannya. Inilah sebabnya mengapa ada parameter swappiness di Linux dan inilah mengapa menonaktifkan swapping sangat memungkinkan.
Seni Gertner

11
@smc Tidak ada yang aneh dengan use case OP. Gagasan bahwa sistem operasi tidak disesuaikan dengan benar untuk kasus penggunaan standar rawa adalah omong kosong. (Lihat jawaban saya untuk lebih lanjut tentang mengapa Anda tidak ingin melakukan ini.)
David Schwartz

4
Asumsi bahwa algoritma yang diberikan akan selalu membuat keputusan yang diinginkan untuk pengguna adalah tidak benar. Mereka membuat keputusan berdasarkan parameter yang telah diputuskan oleh pemrogram penting. Ini mungkin bertentangan langsung dengan apa yang harus dilakukan oleh pengguna.
Anaksunaman

14

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.


Tetapi jika pagefile berada pada drive RAM virtual, waktu yang digunakan untuk menyalin beberapa megabyte dari RAM ke hard drive virtual atau kembali dari itu akan berkurang. Dan jika pagefile dinonaktifkan sepenuhnya, seharusnya tidak ada waktu yang terbuang sama sekali. Apakah ini benar?
user1306322

2
Benar. Menyalin byte dari RAM ke pagefile yang ada di ramdisk adalah pagefile tercepat yang mungkin. Tetapi tidak menyalin sama sekali lebih cerdas.
Peter

2
Swapfiles ada untuk mengimbangi kurangnya RAM. Jika ada banyak RAM, tidak perlu kompensasi. OS Anda masih akan menggunakan swapfile, jadi lebih cepat untuk mematikannya dalam kasus itu.

6
@Mast Itu penyederhanaan yang berlebihan. Swapfiles juga ada untuk memungkinkan penggunaan RAM yang efisien.
David Schwartz

1
@ DavidSchwartz Mungkin, tapi itulah penjelasan yang menjelaskan kepada saya yang terbaik. Dalam sebagian besar kasus, sejumlah kecil swapfile selalu bersifat penerima manfaat dibandingkan tanpa swapfile. Namun, saya tidak memiliki sumber daya untuk mendukungnya.

8

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.


1
+1 untuk menyebutkan ZSWAP. Ini biasanya digunakan di beberapa platform seluler, serta digunakan di OS X 10.9 (meskipun sebagai tambahan untuk swap).
James_pic

Perhatikan bahwa "disk RAM yang dikompres sebagai drive swap" masih memiliki masalah yang tidak melakukan apa pun untuk semua "file paging" selain file halaman yang sebenarnya.
Jamie Hanrahan

5

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 .


4

Untuk Windows, dari mulut kuda:

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

https://blogs.technet.microsoft.com/markrussinovich/2008/11/17/pushing-the-limits-of-windows-virtual-memory/

  • memori yang dapat digunakan - jadi walaupun ini merekomendasikan memiliki memori virtual, itu juga menyarankan bahwa Anda memerlukan jumlah RAM yang sangat besar untuk mendapatkan manfaat dari tidak memiliki file halaman / memori virtual. Saya memiliki 4GB RAM 128GB SSD tanpa file halaman, tetapi saya menggunakannya untuk browsing web dan mengetik dokumen kata.

2
Dari pelajaran pribadi yang saya pelajari, dan sesuatu yang saya khotbahkan kepada semua karyawan baru: Hanya ada 2 aturan. # 1: Jangan Percayai Microsoft. # 2 .. Anda tidak mendengarkan aturan 1, jadi tidak ada aturan 2.
Nick

3

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


3

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


Terima kasih telah menyusun daftar ini. Seharusnya membantu mengemukakan beberapa bukti bahwa teori dan praktik berbeda dalam hal ini. Virtual memory − A paging file is an area on the hard disk that Windows uses as if it were RAM.Ya, seolah-olah: p
user1306322

kesimpulan ini cacat. fakta bahwa OS menulis hal-hal ke pagefile meskipun tampaknya memiliki "sejumlah besar RAM gratis" tidak membuktikan apa-apa tentang "cacat desain dan filosofi". Ini berarti Anda tidak memiliki informasi yang cukup untuk mengevaluasi keputusan OS dengan semestinya. Sebagai permulaan, pertimbangkan kasus di mana ada banyak halaman yang dimodifikasi. Mereka ditulis ke file halaman dan dipindahkan ke daftar siaga - sekarang mereka adalah bagian dari "tersedia". Apakah kamu mendapatkannya? RAM tersedia KARENA isinya ditulis ke pagefile!
Jamie Hanrahan

@JamieHanrahan: Itu tidak menjelaskan mengapa orang masih memiliki masalah meskipun jarang menggunakan lebih dari sebagian kecil dari RAM. Komentar di utas itu meliputi: "Saya tidak pernah benar-benar menggunakan lebih dari setengahnya", "Penggunaan file halaman sekitar 2,7GB di mana penggunaan RAM 3,23GB dari 16GB.", "Saya mengalami peningkatan kinerja yang dramatis menggunakan Illustrator saat Saya membuat dan memindahkan pagefile saya ke RAMDisk ".
Dan W

Sebagian besar komentar tersebut disebabkan oleh informasi yang buruk. Masalah kinerja tidak mungkin diselesaikan dengan menyimpan barang-barang di RAM yang tidak sering diakses. Filefile bukan satu-satunya file yang terlibat dalam paging; ada ratusan lainnya, jadi tidak mungkin melakukan sesuatu yang hanya memengaruhi pagefile (dan mengambil GB RAM dari sisa sistem, dengan demikian meningkatkan laju pagefault) akan memiliki efek "dramatis". Laporan seperti itu biasanya tidak berkelanjutan ketika tes terkontrol dilakukan. Anda dapat menemukan anekdot untuk mendukung hampir semua keyakinan; Saya menemukan mereka tidak meyakinkan.
Jamie Hanrahan

Secara khusus, klaim "pagefile sedang digunakan" menuntut bukti. Hanya memiliki GB barang di pagefile tidak membuktikan bahwa pagefile sedang digunakan dengan cara yang menempatkannya di jalur kinerja kritis. Untuk mengevaluasi ini, pisahkan file halaman pada partisi dengan sendirinya - atau setidaknya, yang tidak aktif digunakan untuk hal lain - dan kemudian Anda dapat menggunakan PerfMon pada "disk logis" itu untuk memantau tingkat IO-nya. Jika pagefile tidak sering dibaca maka tidak masalah berapa banyak yang telah ditulis untuk itu!
Jamie Hanrahan

2

Mengubah 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.


2

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.


2

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.


Anda akan jauh lebih baik dengan meletakkan pagefile pada SSD Anda. Windows tidak akan menggunakannya jika tidak harus. Menempatkan pagefile pada RAMdisk adalah konyol. Ya, kesalahan halaman pada "file" itu akan diselesaikan lebih cepat daripada jika mereka berada di disk nyata, tetapi dengan menetapkan RAM ke RAMdisk di tempat pertama, Anda meningkatkan jumlah kesalahan halaman. Ini seperti meminjam uang dari diri sendiri, membebankan bunga kepada diri sendiri, dan membuang "bunga" itu. Bahkan tidak salah.
Jamie Hanrahan

1

Memindahkan pagefile ke RAM adalah gagasan yang konyol. Cukup matikan dan dengan lebih banyak RAM. :)

No matter how much RAM you have, you want the system to be able to use it efficiently. Having no paging file at all forces the operating system to use RAM inefficiently for two reasons. First, it can't make pages discardable, even if they haven't been either accessed or modified in a very long time, which forces the disk cache to be smaller. Second, it has to reserve physical RAM to back allocations that are very unlikely to ever require it (for example, a private, modifiable file mapping), leading to a case where you can have plenty of free physical RAM and yet allocations are refused to avoid overcommitting.

Consider, for example, if a program makes a writable, private memory mapping of a 4GB file. The OS has to reserve 4GB of RAM for this mapping, because the program could conceivably modify every byte and there's no place but RAM to store it. So immediately, 4GB of RAM is basically wasted (it can be used to cache clean disk pages, but that's about it).

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

  • File halaman dan lokasinya ditangani oleh Windows, perangkap akses memori ke lokasi yang telah dipindahkan ke disk akan ditangkap oleh CPU, tetapi diserahkan ke sistem operasi untuk mengambil halaman dari disk dan memuatnya.

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 ).

masukkan deskripsi gambar di sini http://www.windowsdevcenter.com/pub/a/windows/2004/04/27/pagefile.html

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

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.


Komentar bukan untuk diskusi panjang; percakapan ini telah dipindahkan ke obrolan .
DavidPostill
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.