Apakah saya masih perlu menggunakan memori virtual?


14

Saya akan berpikir ini sudah ditanyakan tetapi sepertinya saya tidak dapat menemukannya.

Pada titik apa saya tidak perlu lagi memori virtual diaktifkan? Dengan 4GB RAM saya melihat bahwa komputer jarang menggunakan hampir semua itu. Pada saat itu, memori virtual tidak sepenuhnya diperlukan. Apakah ada bahaya mematikannya? Apakah ada fitur yang akan hilang jika saya lakukan?


1
Perhatian: Hanya ada jumlah terbatas memori yang diberikan kepada driver, yang disebut bagian non-pageddan pagedkumpulan memori. File halaman diperlukan ketika bagian halaman penuh, sebagai seorang gamer saya telah melihat permainan mengeluh tentang memori kumpulan halaman hanya karena saya memiliki file halaman saya dinonaktifkan pada sistem 8 GB. Kesimpulan: File halaman diperlukan, mereka mencegah penipisan kumpulan halaman dan benar - benar mempercepat sistem Anda.
Tamara Wijsman

Jawaban:


9

Karena memori bukan sumber daya yang jarang di PC desktop / laptop lagi, saya ragu bahwa sebagian besar program dapat menangani kondisi kehabisan memori dengan anggun dan malah akan crash.
Jadi: Berbahaya? Ya , jika 4GB Anda digunakan entah bagaimana dan Anda tidak memiliki pagefile, aplikasi mungkin mulai macet.
Dan seperti yang ditunjukkan dalam contoh Zoran mungkin sulit untuk mengidentifikasi masalah di kemudian hari.

Artikel, yang mengacu pada Ram, juga menyatakan, bahwa mematikan pertukaran biasanya tidak meningkatkan kecepatan dan mungkin melakukan sebaliknya :

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


Saya harus menggali artikel di situs MS, tetapi MS mengatakan Anda harus selalu memiliki pagefile. Bahkan pada sistem memori tinggi, tidak memilikinya dapat membuat mesin Anda berjalan lebih lambat.
Keltari

10

Lihat artikel Mark Russinovich tentang Memori Virtual. Itu seharusnya memberi Anda petunjuk yang baik tentang Memori Virtual.

Berikut kutipan yang berguna dari tautan tersebut

Jadi, bagaimana Anda tahu berapa biaya komit yang dibutuhkan oleh beban kerja Anda? Anda mungkin telah memperhatikan di tangkapan layar bahwa Windows melacak nomor itu dan Process Explorer menunjukkannya: Peak Commit Charge. Untuk ukuran file halaman Anda secara optimal, Anda harus memulai semua aplikasi yang Anda jalankan pada saat yang sama, memuat set data yang khas, dan kemudian mencatat puncak biaya komit (atau melihat nilai ini setelah periode waktu di mana Anda tahu beban maksimum tercapai) . Atur paging file minimum menjadi nilai dikurangi jumlah RAM di sistem Anda (jika nilainya negatif, pilih ukuran minimum untuk mengizinkan jenis crash dump yang Anda konfigurasikan). Jika Anda ingin memiliki ruang bernafas untuk tuntutan komit yang berpotensi besar, atur maksimal menjadi dua kali lipat dari jumlah itu.


+1 untuk referensi Mark Russinovich. Bacaan yang bagus.
mrduclaw

3

Posting klasik di ServerFault ini memiliki beberapa poin bagus. Untuk hanya 4GB saya akan meninggalkan pagefile sendirian, dan ruang yang terlibat pada disk kecil dalam hal apapun.


3

Saya akan merekomendasikan untuk membiarkan pengaturan memori virtual ke default. Saya memiliki 8GB RAM dan mematikan memori virtual berpikir saya akan mendapatkan kecepatan (karena tidak ada pertukaran), tetapi ternyata membuat sistem saya kurang stabil (dan saya melakukan ini pada 2 mesin, hasil yang sama). Saya mengalami satu BSOD per minggu kurang lebih, di kedua mesin. Saya mulai memeriksa minidump yang diproduksi dan menemukan bahwa semua BSOD dipicu oleh panggilan ke rutin yang disebut KiPageFault. Jadi saya mencoba mengatur pengaturan memori virtual kembali ke standarnya, dan BSOD biasa menghilang.

Butuh waktu cukup lama untuk menghubungkan 2, dan saya tidak punya bukti aktual bahwa fakta bahwa saya mematikan memori virtual menyebabkan BSODs, tetapi mesin saya lebih stabil setelah saya menyalakannya kembali ...


Terima kasih. Adalah baik untuk mendengar hasil nyata dan bukan hanya dugaan.
Steve Rowe

0

Tergantung apa beban kerja Anda. Saya telah menyiapkan banyak antarmuka tanpa disk untuk aplikasi web. Mereka mem-boot jaringan dan menjalankan semua yang mereka butuhkan dalam 8GB ram.

Saya juga menggunakan windows (98 mungkin) dengan 32MB dan tanpa pagefile - tentu saja Anda harus hidup dalam ruang memori itu dan membatasi aplikasi Anda agar sesuai dengan sumber daya.

Anda ingin memastikan bahwa ada beberapa RAM tambahan untuk cache disk, jika tidak kinerjanya bisa menjadi mengerikan.

Saya sepertinya ingat bahwa ada beberapa program yang tidak akan berjalan tanpa VM, tetapi saya tidak tahu apa itu


-2

Nah, Steve, menarik bahwa Anda harus bertanya itu.

Saya akan memberi tahu Anda sedikit rahasia: titik di mana Anda membutuhkan memori virtual tidak pernah. Memori virtual adalah ide gila yang tidak kompeten yang dibuat oleh sekelompok akademisi yang tidak tahu apa-apa tentang sistem komputasi praktis, dan komputer APA PUN akan berfungsi jauh lebih baik jika dapat dijalankan tanpa VM.

Sekarang, Anda mungkin bertanya, jika VM tidak berguna dan berbahaya, mengapa kebanyakan sistem operasi modern besar menggunakannya? Jawaban singkat untuk pertanyaan ini adalah bahwa orang-orang yang memutuskan apakah akan menggunakan VM atau tidak di Microsoft, Apple dan IBM bahkan lebih bodoh dan tidak berpengalaman daripada para akademisi yang menemukan VM dan ingin mengadopsinya berdasarkan pada asumsi yang sama sekali salah bahwa akademisi memiliki ketika mereka menciptakannya. Kita bisa mulai berbicara tentang asumsi dan kesalahpahaman itu, tetapi sayangnya, jika mudah dipahami dan dijelaskan, kita tidak akan memiliki masalah VM sejak awal.

Kembali ke Anda. Sayangnya, sama seperti tardnoggins yang disebutkan di Apple dan Microsoft, Anda memiliki kesalahpahaman Anda sendiri, yaitu gagasan bahwa Anda dapat mematikan VM. Tentu saja, Anda tidak dapat mematikannya, itu akan mengalahkan seluruh tujuan mengacaukan Anda jika Anda bisa mematikannya saja. Ketika orang melakukan sesuatu yang benar-benar bodoh, mereka selalu memastikan itu tidak dapat diubah. Lagi pula, jika semua orang bisa mematikan VM, mereka akan melakukannya, dan itu akan membuat bozos yang membuatnya terlihat sangat bodoh, bukan? Mereka mencegah kemungkinan ini dengan membuatnya tidak bisa dilepas, semacam Microsoft membuat Internet Explorer tidak bisa dilepas.

Yang dapat Anda lakukan adalah membatasi ukuran file halaman, yang tentu saja harus diatur ke apa pun minimumnya, semoga 0. Memori Virtual masih ada, tetapi setidaknya Anda dapat menguranginya dari sangat sangat sangat lambat menjadi sangat sangat lambat dengan memintanya untuk tidak melibatkan disk drive dalam kegilaan.


Memori virtual memungkinkan banyak hal bagus. Jika Anda tidak memiliki memori virtual maka Anda harus memiliki RAM yang cukup untuk menampung setiap byte kode dan data yang didefinisikan oleh setiap proses pada sistem Anda, terlepas apakah itu benar-benar direferensikan atau tidak. Karena sebagian besar program menghabiskan 90% dari waktu mereka menggunakan 10% dari kode dan data mereka, ini akan menjadi pemborosan besar. Anda juga akan kehilangan banyak hal berguna lainnya, yang format komentarnya di sini tidak memberi saya ruang untuk menguraikan. Alasan kami tidak meninggalkan memori virtual adalah itu masih ide yang sangat, sangat bagus. Bahkan dalam "sistem komputasi praktis".
Jamie Hanrahan

@ RickBrant Anda terdengar seperti insinyur listrik idiot dari Intel dan IBM yang saya gunakan harus mendengarkan pada 1980-an mencoba menjelaskan mengapa VM adalah ide yang bagus. Saya ingat kembali ketika IBM keluar dengan OS / 2, yang merupakan sistem operasi otak pertama yang rusak dengan VM, harus mendengarkan mereka menjelaskan mengapa itu ide yang hebat. Yah, terima kasih Tuhan OS / 2 meninggal, tapi sayangnya VM terus berjalan, seperti zombie, jadi ini dia 2017 dan saya masih mendengarkan omong kosong ini. Saya akan bertaruh dolar untuk donat yang Anda tidak memiliki gelar CS, lakukan kamu? Itu bagian leluconnya. 99% dari orang-orang yang mempromosikan VM bukan pemrogram
Tyler Durden

Sebenarnya saya adalah dua jurusan, CS / EE, di salah satu sekolah teknologi terbaik di pantai barat. Hari ini saya kebanyakan adalah seorang programmer, tetapi saya berinteraksi dengan tipe-tipe perangkat keras. Sekarang, apakah Anda memiliki bantahan yang meyakinkan sampai-sampai akan sangat sia-sia jika harus menyimpan setiap byte kode terakhir dan data yang didefinisikan oleh suatu program dalam RAM setiap saat, apakah perlu atau tidak? Karena kehabisan memori virtual itu. Atau apakah Anda akan melanjutkan serangan pribadi yang berjumlah "Anda harus idiot"?
Jamie Hanrahan

Oh, dan kembali "OS / 2, yang merupakan sistem operasi otak pertama yang rusak dengan VM," Um, tidak, bukan sekitar dua dekade. Mungkin OS yang pertama digunakan secara luas untuk PC. (Tapi bukan yang pertama untuk "komputer pribadi".)
Jamie Hanrahan
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.