Apakah kita masih membutuhkan partisi swap di server?

37

Saya telah membaca pertanyaan ini , tetapi ditanya dalam konteks server bukan desktop atau notebook.

Jika sejumlah besar RAM dipasang pada notebook, katakan 8 GB, apakah kita masih membutuhkan ruang swap?

kereta bayi
sumber

Jawaban:

33

Ada kesalahpahaman umum bahwa memiliki ruang swap secara negatif mempengaruhi kinerja sistem. Ini salah. Selama Anda memiliki RAM yang cukup, memiliki area swap berapa pun ukurannya tidak mengganggu kinerja sama sekali. Yang memengaruhi kinerja adalah kekurangan RAM dan secara efektif menggunakan ruang swap.

  1. Jika Anda tidak memiliki ruang swap dan kebetulan kehabisan RAM, kernel akan memilih satu atau lebih proses yang dianggap sebagai kandidat yang baik (meskipun Anda mungkin memberikan beberapa petunjuk ) dan membunuh mereka.

  2. Jika Anda memiliki ruang swap dan kehabisan RAM, kernel akan memilih halaman memori yang kurang digunakan dan meletakkannya di area swap untuk membebaskan RAM. Ini akan memperlambat sistem tetapi aplikasi Anda tidak akan terpengaruh sebaliknya.

Saya selalu lebih suka kasus 2. karena saya merasa tidak nyaman kehilangan bagian atau semua pekerjaan saya karena kernel berpikir aplikasi saya layak untuk dibunuh. Selain itu, dengan ukuran rata-rata disk saat ini berada dalam kisaran TB, pemesanan beberapa persen untuk swap biasanya tidak menjadi masalah.

Jlliagre
sumber
Apakah poin pertama Anda benar? Kernel akan mematikan proses yang sedang berjalan untuk membebaskan RAM? Mengapa kernel tidak menggunakan ruang disk alih-alih membunuh proses langsung?
Donato
4
@ Donato Ya, poin pertama saya adalah benar. Jika tidak ada ruang swap yang dikonfigurasi (yaitu disk), kernel tidak diberi pilihan untuk menggunakan ruang disk untuk membebaskan RAM.
Jilliagre
dan apa yang terjadi ketika saya menyelesaikan ruang swap? Kembali ke kasus 1?
Zac
@Zac Ya, kecuali jika Anda benar-benar menonaktifkan kelebihan memori dalam hal mana proses pertama gagal mengalokasikan memori akan terluka. Perhatikan bahwa jika Anda memiliki area ruang swap (signifikan) yang dikonfigurasi dan kebetulan menggunakannya sebagian besar, Anda mungkin akan memiliki masalah kinerja serius.
jlliagre
1
@Zac Jika Anda menghabiskan ruang swap Anda, Anda pada dasarnya berada dalam situasi yang sama dengan tidak memiliki ruang swap di tempat pertama. Satu proses atau lebih akan mati. Mereka mungkin dipilih oleh pembunuh oom atau hanya berada di tempat yang salah dan waktu yang salah. Biasanya, sistem produksi yang dipantau dengan benar harus memicu peringatan dan kemudian reaksi admin sebelum terjadi pertukaran swap.
Jilliagre
9

Jika Anda memiliki RAM 3GB atau lebih tinggi, Ubuntu secara otomatis TIDAK MENGGUNAKAN ruang Swap karena itu lebih dari cukup untuk OS.

Sekarang apakah Anda benar-benar membutuhkan partisi swap?

Jawabannya menurut saya ya. Karena Anda tidak tahu apa yang akan Anda instal atau lakukan di masa depan yang mungkin memerlukan ruang swap. Juga jika Anda berencana untuk menggunakan hibernasi, Anda mungkin ingin memiliki ruang swap. Anda sebenarnya tidak harus memiliki partisi swap, tetapi disarankan jika Anda menggunakan banyak memori dalam operasi normal.

Untuk informasi lebih lanjut tentang perlunya pertukaran swap, lihat Ubuntu Swap Faq , atau Persyaratan Swap

Mitch
sumber
Apakah Anda memiliki tautan yang mengonfirmasi pernyataan pertama Anda?
jlliagre
1
Pernyataan blog salah mengutip balasan askunbutu. Tidak ada bukti bahwa user4124 adalah pengembang Ubuntu. "akan (biasanya) tidak menggunakan" sangat berbeda dari "otomatis akan menonaktifkan". Sebenarnya, Ubuntu tidak pernah menonaktifkan swap dan akan menggunakannya jika perlu, bahkan jika Anda memiliki 8GB RAM atau lebih.
jlliagre
@ jlliagre Artinya adalah ruang swap ada, tetapi tidak digunakan. Ketika saya menginstal Xubuntu 14.04, itu menciptakan swap 16GB, dan itu belum pernah digunakan. lihat gambar
Mitch
1
Senang Anda mengoreksi balasan Anda. "Tidak menggunakan" secara definitif tidak sama dengan "menonaktifkan". Ubuntu tidak menonaktifkan swap dan akan menggunakannya jika diperlukan, terlepas dari ukurannya.
jlliagre
4

Selama 6 tahun terakhir ini saya telah menggunakan sistem desktop dengan setidaknya 8GB RAM. Saya tidak ingat kasus ketika sistem bertukar memori dalam penggunaan normal - dan saya cukup sering memantau penggunaan sumber daya dengan htop. Bahkan dalam kasus ketika saya menjalankan 4 mesin virtual (server) secara bersamaan untuk tujuan pengembangan, swapping terjadi

Karena itu, jika aplikasi yang Anda jalankan adalah memori intensif (misalnya mengedit video, mengedit gambar, manipulasi tabel database besar, dll) Anda mungkin menghadapi situasi di mana sistem Anda mungkin kehabisan memori. Dalam hal ini mungkin diinginkan untuk memiliki ruang swap. Anggap saja sebagai jaring pengaman terakhir. Dan mengingat kapasitas multi-terrabyte dari sistem saat ini, berapa harga beberapa gigabytes di partisi swap? Lebih baik aman daripada menyesal :-)

hayag
sumber
2

Memiliki ruang swap selalu merupakan hal yang baik.

Di sini saya mengutip Panduan Studi Sertifikasi RHCSA / RHCE Michael Jang

Linux Swap Space

Ruang seperti itu digunakan untuk menambah jumlah RAM efektif pada suatu sistem, sebagai memori virtual untuk program yang sedang berjalan. Tetapi Anda tidak bisa hanya membeli RAM tambahan dan menghilangkan ruang swap. Linux jarang memindahkan program dan data yang digunakan untuk bertukar ruang walaupun Anda memiliki RAM gigabytes.

Untuk sistem hingga 2GB, ukuran ruang swap standar adalah dua kali jumlah RAM yang dipasang. Di atas 2GB, itu adalah jumlah RAM + 2GB. Tapi itu bukan aturan "keras dan cepat". Workstation dengan beberapa GB RAM sering menggunakan ruang swap yang sangat sedikit .. tetapi mungkin lebih sering digunakan pada sistem yang tidak di-reboot selama berbulan-bulan pada suatu waktu atau memiliki permintaan yang besar dari layanan tertentu.

Gayan Weerakutti
sumber
1
"Linux jarang memindahkan program dan data yang digunakan untuk bertukar ruang walaupun Anda memiliki RAM gigabytes". Saya berasumsi di sini kita berbicara tentang kode dan data yang dimuat dalam memori. Jika Anda memiliki RAM 8GB dan hanya menjalankan aplikasi biasa, mengapa halaman kode atau data apa saja, dapat ditukar untuk ditukar?
Tarik
1

Itu tergantung pada apa yang Anda jalankan di sistem Anda.

Jika Anda membuat konten, mungkin ide yang bagus untuk tetap mengalokasikan ruang swap, jadi jika Anda kehabisan RAM, proses Anda menjadi lambat alih-alih terbunuh dan berpotensi kehilangan pekerjaan.

Jika mesin Anda hanya menjalankan program, maka Anda tidak perlu atau bahkan ingin ruang swap. Saya merancang dan membangun banyak sistem tampilan mirip kios yang pas untuk penggunaan ini. Saya lebih suka proses mati mendadak daripada lambat, karena dengan begitu saya dapat mendeteksi kondisi itu dan memperbaikinya.

Eric Sokolowsky
sumber
1

Jika Anda memerlukan swap atau lebih banyak ruang swap, Anda dapat membuat file swap di sistem file Anda. Tentu saja, mereka tidak akan mendukung hibernasi tetapi itu adalah pendekatan yang masuk akal untuk laptop dengan drive SSD dan banyak RAM.

Grzegorz Żur
sumber