Saya membaca banyak tempat bahwa aturan praktis untuk ruang swap adalah untuk menggandakan jumlah RAM fisik. Namun, 32 GB sepertinya BANYAK. Apakah saya sangat membutuhkannya? Apakah saya memerlukannya dengan jumlah fisik RAM yang tinggi ini?
277
Jawaban:
Ini sepenuhnya tergantung pada apa yang Anda rencanakan untuk dilakukan dengan mesin. Sebagai contoh jika itu adalah server Sap maka ya, saya akan menambahkan 32GB swap (kami memiliki kotak di tempat kerja dengan 128GB ram dan 32GB swap). Jika Anda memanipulasi gambar dan video besar maka masuk akal untuk melakukan sedikit pertukaran. 32GB mungkin berlebihan.
Namun saya tidak akan mengatakan nol swap.
Jika Anda kehabisan RAM - mungkin membuka file besar, bahkan tab yang sudah berjalan lama di firefox, itu tidak masalah, jika pembunuh kernel OOM Anda akan menendang dan mulai mematikan aplikasi untuk mendapatkan memori kembali. Dalam keadaan seperti itu, sangat mungkin Anda kehilangan data saat aplikasi terbunuh. Namun jika Anda memiliki sedikit swap maka sistem akan melanjutkan, meraih swap dan memungkinkan sistem untuk melanjutkan. Sistem melambat saat terjadi pertukaran besar, Anda perhatikan dan selidiki sebelum semua swap habis. Disk juga sangat murah, jadi mengapa tidak menukar?
Siapa pun yang mengatakan "Anda tidak perlu bertukar" tanpa menanyakan apa yang sebenarnya Anda lakukan dengan komputer Anda membuat asumsi. Meskipun Anda mungkin melakukan sangat sedikit dengan komputer Anda yang memakan RAM, masih lebih baik untuk mengajukan pertanyaan tentang apa yang Anda rencanakan dengan itu sebelum membuat penilaian cepat bahwa Anda tidak "perlu" bertukar. Menurut pendapat saya
sumber
Berikut rekomendasi yang sangat bagus dari RedHat: Recommended System Swap Space
Kutipan dari tautan yang sama:
Tabel saat ini (per Desember 2017):
Meja asli:
sumber
Argh. Jawaban pada posting ini sangat salah, dan ini muncul sebagai salah satu hasil pertama dalam pencarian Google untuk "Berapa banyak swap?"
Pertama, titik referensi yang baik adalah FAQ Swap Ubuntu
FAQ ini memberikan poin penting bahwa tidak seorang pun di sini menyebutkan, dan itu adalah (penekanan pada saya)
Jadi, swap bukan hanya untuk hibernasi! Kegiatan ini, mengganti halaman yang tidak digunakan, dapat bermanfaat dalam beberapa skenario dan merugikan yang lain. Bermanfaat karena dapat membebaskan memori bagi sistem untuk digunakan di tempat lain, tetapi merugikan ketika pertukaran itu terlalu agresif, dan menukar halaman yang sebenarnya Anda inginkan. Ini terutama benar pada sistem desktop di mana aplikasi dapat diam untuk waktu yang lama, tetapi pengguna masih mengharapkan kinerja segera ketika menghidupkannya kembali. Kontrol untuk seberapa agresif ini, disebut sebagai swappiness
Ubuntu Swap FAQ membahas ini dengan ringan di bawah Apa itu swappiness dan bagaimana cara mengubahnya? Nilai default pada sistem Ubuntu adalah 60, sedangkan FAQ merekomendasikan nilai 10 untuk mesin desktop.
Jadi, saya akan mengatakan bahwa umumnya sangat penting untuk tidak memiliki sistem yang sama sekali tidak memiliki ruang swap, karena beberapa orang merekomendasikan pertanyaan ini, kecuali Anda tahu skenario penggunaan yang sangat spesifik untuk sistem Anda dan sangat menyadari konsekuensinya itu bisa saja. (Secara pribadi, tidak ada situasi di mana saya akan menjalankan sistem tanpa swap) Dalam skenario Kehabisan Memori tanpa swap, sistem akan mulai mematikan proses (umumnya yang menyebabkan OOM)
sumber
Mungkin tidak. Jika Anda berencana untuk hibernasi komputer Anda (suspend-to-disk) maka Anda akan memerlukan setidaknya 16 GB. Jika Anda tidak akan hibernasi, cukup untuk membiarkan beberapa gigabytes untuk swap (maks 4-8)
sumber
Dari pengalaman saya bisa mengatakan ini:
Untuk apa yang saya lihat menggunakan ram 4GB selama 3 tahun, Ubuntu telah menggunakan swap sekitar 60MB tetapi hanya ketika melakukan beberapa tugas yang sangat intensif. Beberapa minggu yang lalu saya mulai menggunakan PC yang memiliki ram 16GB dan penggunaan swap tetap 0% untuk selamanya. Saya telah melakukan banyak kompilasi, rendering video dan tugas intensif lainnya. Tidak pernah ada perubahan dalam swap. Bahkan tidak ada perubahan 1KB.
Pada dasarnya, di Ubuntu, semakin banyak RAM memori yang Anda miliki, semakin kecil kemungkinan Anda akan menggunakan atau membutuhkan swap untuk tugas apa pun. 16GB ram, atau bahkan 8GB ram lebih dari cukup. Saya telah melakukan dengan 16GB PC 8 Virtualbox PC (masing-masing antara 1GB hingga 2GB ram). Saya telah menyusun dan membuat video 720p dan bahkan dalam kondisi tersebut swap tidak berubah.
Dengan demikian, aturan ram memori dua kali lebih banyak tidak boleh diterapkan pada sistem berbasis Linux, terlebih lagi jika Anda memiliki lebih banyak memori. Namun Anda harus memiliki ukuran swap yang sama dengan ukuran ram Anda atau jika Anda berencana untuk hibernasi, karena proses hibernasi mengambil semua yang ada di ram dan meletakkannya di swap, itulah sebabnya Anda membutuhkan ukuran minimum yang sama dengan ukuran ram Anda untuk swap.
Detail lainnya adalah bahwa beberapa aplikasi (tidak semua) masih akan dipaksa untuk membaca dari swap. Jadi memiliki sedikit itu bagus. Menonaktifkannya sama sekali sangat buruk jika Anda sampai kehabisan memori atau OOM. Pada titik ini jika Anda tidak memiliki swap, tidak ada cara kernel dapat menukar in / out penggunaan aplikasi ram yang berbeda dan pada akhirnya akan mulai membunuh yang kurang digunakan.
Jika ini membantu dengan pengambilan keputusan desktop rumah, setelah memperbarui jawaban ini dalam lebih dari 4 tahun, saya telah menggunakan PC 16GB, 32GB, dan sekarang 64GB ram. Pengujian dengan hanya 128MB swap mengungkapkan bahwa saya tidak perlu swap lebih besar kecuali jika saya ingin hibernasi. Saya telah menggunakan lingkungan cloud pada mereka, lxc, virtualbox, wine, apa saja. Saya telah membuat video dengan openshot, kazam, rem tangan, keberanian. Saya telah menggunakan gimp, blender, Inkscape dan bahkan suite LibreOffice lengkap. Saya bahkan bermain di atas uap dan tidak ada skenario yang swap digunakan. Tentu saja, pada akhirnya akan digunakan jika Anda akhirnya menggunakan jumlah ram penuh dalam satu atau lain cara tetapi secara umum semakin banyak ram yang Anda miliki, semakin sedikit swap yang Anda butuhkan.
Hanya 2 sen saya.
sumber
Tidak, Anda tidak perlu 32 GB selama Anda tidak menggunakan fitur seperti menangguhkan ke disk.
sumber
Dalam kebanyakan kasus, saya katakan Anda tidak membutuhkan sama sekali. Mungkin jika Anda mengedit file gambar yang sangat besar, atau aplikasi lain yang membutuhkan banyak ram, Anda mungkin perlu beberapa.
Saya belum pernah melihat yang digunakan sama sekali pada sistem saya, mirip dengan Anda. Bahkan, pada suatu waktu, saya menonaktifkannya selama satu atau dua minggu secara tidak sengaja, dan tidak pernah melihat adanya masalah. Tapi saya masih menyimpan sekitar 5GB untuk drive swap saya, terutama karena saya memiliki lebih dari 1TB tersedia, dan tidak menggunakan semua ruang seperti itu.
sumber
Jika ram Anda lebih tinggi dari 1GB, biasanya cukup untuk ubuntu. Aturan "Swap = RAM x2" adalah untuk komputer lama dengan ram 256 atau 128mb.
Jadi 1 GB swap biasanya cukup untuk 4GB RAM. 8 GB akan terlalu banyak.
sumber
Jika Anda menggunakan hibernate, aman untuk memiliki swap sebanyak jumlah RAM Anda.
Untuk aturan umum tentang berapa banyak swap yang harus dimiliki, baca di sini:
https://help.ubuntu.com/community/SwapFaq
Dalam kasus Anda, saya akan mengatakan 4 GB akan cukup untuk mencocokkan RAM Anda.
sumber
Anda hanya perlu bertukar jika ingin menggunakan hibernate untuk sisanya, ini adalah pemborosan ruang pada harddisk Anda.
sumber
sudo swapoff -a
lalu tidur laptop Anda.Jika Anda menggunakan hibernasi, swap Anda harus memiliki setidaknya jumlah yang sama dengan ram fisik Anda.
sumber
Saya punya laptop dengan 4GB RAM dan Ubuntu 16.04. Setelah boot, ia mengkonsumsi sekitar 1GB RAM dan bahkan Inkscape (misalnya) tidak akan berjalan (Monitor sistem menunjukkan lebih dari 50% RAM gratis). Inkscape membeku Setelah saya menerapkan file swap itu berjalan seperti yang diharapkan, bahkan tanpa satu byte swap yang digunakan). Jadi saya sarankan partisi swap (atau file swap). Tentang ukurannya, Anda dapat menggunakan aturan david6.
sumber
Dari SwapFaq Ubuntu :
Mengapa saya perlu swap?
Program-program yang memakan memori Kadang-kadang, sebuah program besar (seperti LibreOffice, Neverwinter Nights, atau editor video) membuat seluruh sistem membutuhkan memori tambahan. Sejumlah besar halaman yang digunakan oleh program-program besar ini selama startup hanya dapat digunakan untuk inisialisasi dan kemudian tidak pernah digunakan lagi. Sistem dapat menukar halaman-halaman itu dan membebaskan memori untuk program lain atau bahkan untuk cache disk. Dalam kasus ini, swap akan digunakan untuk membantu sistem menangani beban tambahan apa pun.
Hibernasi (suspend-to-disk) Fitur hibernasi (suspend-to-disk) menuliskan isi RAM ke partisi swap sebelum mematikan mesin. Oleh karena itu, partisi swap Anda setidaknya harus sebesar ukuran RAM Anda. Implementasi hibernasi yang saat ini digunakan di Ubuntu, swsusp, membutuhkan partisi swap atau suspend. Itu tidak dapat menggunakan file swap pada sistem file yang aktif.
Keadaan Tak Terduga Peristiwa tak terduga dapat dan akan terjadi (sebuah program menjadi gila, beberapa tindakan membutuhkan lebih banyak ruang daripada yang Anda pikirkan, atau kombinasi acara yang tak terduga lainnya). Dalam kasus ini, swap dapat memberi Anda penundaan tambahan untuk mencari tahu apa yang terjadi, atau menyelesaikan apa yang sedang Anda kerjakan.
Mengoptimalkan penggunaan memori Karena hard drive mekanis jauh lebih lambat daripada RAM (SSD - Solid State Drive - penyimpanan tidak selambat drive fisik, tetapi masih lebih lambat dari RAM), saat Anda memerlukan file (baik itu file data seperti video, executable seperti Firefox, atau libraries), kernel Linux membaca file ke dalam RAM dan menyimpannya di sana, sehingga saat berikutnya Anda membutuhkannya, itu sudah ada dalam RAM dan akses data jauh lebih cepat. Bagian-bagian RAM yang mempercepat pembacaan disk disebut "memori cache." Anda akan melihat bahwa mereka membuat perbedaan besar dalam hal responsif. Kernel Linux secara otomatis memindahkan RAM yang disediakan oleh program - tetapi tidak benar-benar digunakan - ke swap, sehingga dapat melayani tujuan yang lebih baik untuk memperluas memori yang di-cache.
Mengoptimalkan kinerja Swap Karena ruang swap menggunakan perangkat disk, ini dapat menyebabkan masalah kinerja dalam sistem apa pun yang menggunakan ruang swap secara signifikan karena sistem itu sendiri mungkin juga menggunakan perangkat disk yang sama pada saat yang sama diperlukan untuk operasi swap. Salah satu cara untuk mengurangi masalah ini adalah memiliki ruang swap pada drive fisik yang berbeda sehingga persaingan untuk sumber daya tersebut berkurang atau dihilangkan.
Berapa banyak swap yang saya butuhkan?
Untuk memori fisik (RAM) kurang dari 1GB, sangat disarankan agar ruang swap, sebagai basis minimum, harus sama dengan jumlah RAM. Juga, direkomendasikan bahwa ruang swap maksimum dua kali jumlah RAM tergantung pada jumlah ruang hard disk yang tersedia untuk sistem karena berkurangnya pengembalian.
Untuk sistem yang lebih modern (> 1GB), ruang swap Anda minimal harus sama dengan ukuran memori fisik (RAM) Anda "jika Anda menggunakan hibernasi", jika tidak, Anda memerlukan minimum putaran (sqrt (RAM)) dan maksimum dua kali jumlah RAM. Satu-satunya downside untuk memiliki lebih banyak ruang swap daripada yang akan Anda gunakan sebenarnya, adalah ruang disk Anda akan memesan untuk itu.
"Pengembalian menurun" berarti bahwa jika Anda memerlukan ruang swap lebih dari dua kali ukuran RAM Anda, Anda sebaiknya menambahkan lebih banyak RAM karena akses Hard Disk Drive (HDD) sekitar 10³ lebih lambat daripada akses RAM, sehingga dibutuhkan waktu 1 detik, tiba-tiba membutuhkan lebih dari 15 menit! Dan masih lebih dari satu menit pada Solid State Drive (SSD) cepat ...
Contoh Skenario
sumber
Saya pikir Anda mendapatkannya sebaliknya. Rekomendasi SWAP , Anda akan membutuhkan ~ 16GB. Jadi SWAP harus 1/2 dari ukuran RAM yang sebenarnya. Tapi masih banyak ruang. Tergantung apa yang Anda butuhkan. Saya akan mengatakan, jika Anda tidak menggunakan "hibernate", pertahankan ~ 4GB hingga ~ 8GB jika Anda dapat membeli ruang disk. Karena Anda memiliki 16GB, saya berasumsi Anda mungkin menggunakan komputer yang membutuhkan sumber daya yang kuat ... jadi mungkin bermanfaat juga memiliki SWAP 16GB hingga 32GB.
Saya memiliki RAM 2GB dan SWAP 1GB. Saya cukup baik dengan itu, tapi itu hanya pendapat saya. Lihatlah komentar / saran lain dan lihat apa yang mereka katakan.
sumber
Saya tidak dapat menemukan referensi untuk dikutip di sini, tetapi jika Anda akan menggunakan aplikasi di mana Anda perlu menukar seluruh data dalam RAM, Anda setidaknya perlu 'ukuran RAM + 128 MB' atau '1,25 kali Ukuran RAM' (i lupa yang mana yang benar) dengan anggapan Anda memiliki RAM lebih dari 2 GB. Jika RAM 2GB atau kurang, disarankan untuk memiliki ukuran RAM dua kali lipat sebagai swap. Saya mengikuti rekomendasi ini di organisasi saya sebelumnya untuk IBM AIX berdasarkan dokumen dari IBM. Saya percaya ini berlaku untuk sebagian besar dari * nix karena penggunaan swap adalah memindahkan data dari RAM dengan aman jika RAM tidak cukup untuk menangani data yang akan dimuat dalam memori. Perintah 'bebas' dapat digunakan untuk mengevaluasi berapa banyak swap yang digunakan dalam kenyataan.
sumber
Saya memiliki laptop Mac, yang saya tinggalkan selama berbulan-bulan. Meskipun jauh lebih baik dari Windows, memori tidak merayap masuk, terutama dengan browser Anda, jika Anda tetap menggunakannya. Jadi akhirnya, memori terisi. Sekarang jika Anda memiliki swap, seperti yang dicatat orang lain, Anda dapat bertahan hidup, memperhatikan dan membunuh sesuatu. Tetapi yang lebih penting, jika Anda memiliki swap, beberapa halaman bisa ditukar dan Anda dapat melanjutkan.
Jadi, jika Anda berencana meninggalkan mesin untuk waktu yang lama, swap adalah cara praktis untuk membebaskan memori dari sampah zombie. Memang akan memakan waktu lebih lama bagi Anda untuk mengisi 16g daripada saya dengan 3gb, tapi tetap bagus. Untuk tujuan ini, 4Gb akan melakukannya.
sumber
Jika itu adalah laptop maka menjaga setidaknya swap sama dengan jumlah RAM, untuk sepenuhnya memungkinkan hibernasi. Saya masih akan menyimpan jumlah yang sama dengan jumlah RAM bahkan jika desktop, tapi itu hanya saya; itu akan sedikit digunakan di desktop.
sumber
Ingatlah ini -
Jadi, jika Anda memiliki ram 4 Gb Anda seharusnya tidak pernah perlu swap kecuali
Swap hibernasi diperlukan sekitar 3 - 3.5 Gb, tidak lebih dari itu .
Jadi gunakan akal sehat Anda dan jangan buang ruang disk
sumber
Jika Anda membuat file yang sangat besar, katakan misalnya jika Anda sedang membangun sistem terjemahan mesin di laptop (ya ok, mengapa Anda ingin melakukan itu? Saya dapat mengatakan bahwa profesor saya membuat saya ;-)) jawabannya jelas ya, sebenarnya saat ini saya menyesal tidak membuatnya 32GB swap ....
Untuk penggunaan kasual Ubuntu untuk pekerjaan kantor dan internet, Anda tidak akan pernah menggunakan swap bahkan 2 GB tetapi pada kenyataannya tidak ada jawaban yang jelas, semuanya tergantung pada apa yang akan Anda lakukan di komputer ...
sumber
Terlalu banyak informasi, dan perbedaan pendapat.
Pedoman desktop Ubuntu yang saya sarankan :
sumber
Sepertinya tidak ada yang menyebutkan alasan lain untuk memiliki ruang swap yang signifikan adalah agar sistem terasa melambat daripada gagal menjalankan program saat Anda mulai kehabisan memori. Jika Anda memiliki penyeimbang beban di depan yang mengarahkan ulang pada kegagalan Anda mungkin ingin tetap bertukar kecil (katakanlah 1GB), Jika Anda ingin program melambat dulu, maka saya akan mempertimbangkan 4GB + akar kuadrat dari ukuran memori, dan jika Anda menginginkannya untuk benar-benar memperlambat sebelum hal-hal mati, maka pertahankan ukuran memori minimal 1,25 kali (selama manusia yang tidak sabar tidak menyerah dulu - ini akan lebih cocok untuk pekerjaan latar belakang).
Saya mengkonfigurasi 1GB untuk mesin pengembangan dan produksi saya sebagai standar, maka tidak masalah berapa banyak atau sedikit memori nyata yang mereka miliki, mereka memiliki cukup untuk mengkompilasi semua program yang saya inginkan, dan untuk menukar praktis tidak pernah menggunakan program untuk menggunakan membebaskan memori untuk buffer disk.
Sebagai perbandingan, saya memiliki 64GB swap pada laptop 32GB saya, yang sedikit berlebihan, tetapi saya ingin memastikan itu selalu bekerja walaupun lambat, dan saya tahu saya akan menjalankan beberapa mesin virtual yang haus memori. Efek yang tidak terduga adalah ketika Anda memiliki kisaran memori 32GB + kemudian melanjutkan dari hibernasi (yang memuat ulang memori 32GB) terasa lebih lambat daripada boot dingin.
sumber
Tidak, Anda pasti tidak perlu 32GB. Sebagai aturan untuk sistem desktop saya akan mengatakan swap Anda harus berada di suatu tempat antara 4GB dan RAM fisik + beberapa GB . Jadi untuk 16GB RAM fisik, swap mungkin 4GB ke 18GB, mungkin.
Hal-hal yang Anda perlukan untuk bertukar ke ruang swap akan kira-kira sama dengan jumlah RAM fisik yang digunakan oleh aplikasi yang tetap penduduk - yaitu, layanan sistem dan aplikasi yang tetap berjalan saat Anda menggunakannya (sebagai lawan dari tugas yang berjalan sekali lalu berhenti). Pada sistem desktop, misalkan Anda dapat membiarkan browser, pengolah kata, program email dan editor video atau video Anda dibiarkan terbuka saat Anda mengerjakan sesuatu yang lain. Mereka mungkin dengan mudah menempati lebih dari 2GB, mungkin lebih dari 4GB. Jadi mungkin 6GB swap sesuai.
Sebagai aturan umum, tidak ada salahnya untuk memiliki beberapa GB lebih dari yang Anda butuhkan juga. Swap biasanya tidak akan digunakan jika Anda memiliki banyak RAM tetapi itu membantu pada saat beberapa proses menggunakan jumlah yang berlebihan dan Anda mulai mendapatkan yang rendah, dan dapat mencegah proses sistem mematikan.
Catatan: jika Anda ingin menggunakan OS hibernasi, Anda akan membutuhkan semua 16GB seperti yang disebutkan, tetapi komputer modern tidak mendapat banyak manfaat dari hibernasi. Jika Anda memiliki SSD cepat, boot mungkin lebih cepat atau lebih cepat daripada melanjutkan dari hibernate, dan komputer modern menggunakan energi yang dapat diabaikan sementara dalam mode tidur bahwa manfaat penggunaan energi dari hibernate bukanlah faktor besar.
sumber