Bagaimana saya harus memutuskan ukuran apa yang akan membuat swap saya pada mesin Linux baru (Debian) dengan RAM 2-4 GB? Apakah saya benar-benar membutuhkan ruang swap?
Bagaimana saya harus memutuskan ukuran apa yang akan membuat swap saya pada mesin Linux baru (Debian) dengan RAM 2-4 GB? Apakah saya benar-benar membutuhkan ruang swap?
Jawaban:
Ada banyak cara untuk mengetahui berapa banyak swap yang digunakan di mesin. Saran umum menggunakan rumus berdasarkan RAM seperti 2 x RAM, 1,5 x RAM, 1 x RAM, .75 x RAM, dan .5 x RAM. Banyak kali formula bervariasi tergantung pada jumlah RAM (jadi kotak dengan 1GB RAM mungkin menggunakan 2 x RAM swap (2GB), sedangkan kotak dengan 16GB ram mungkin menggunakan 0,55 RAM swap (8GB).
Satu hal yang perlu dipertimbangkan adalah untuk apa kotak itu akan digunakan. Jika Anda akan memiliki sejumlah besar proses yang berjalan secara bersamaan berjalan di kotak, tetapi sejumlah besar dari mereka akan menganggur untuk periode waktu, kemudian menambahkan swap ekstra masuk akal. Jika Anda akan menjalankan sejumlah kecil proses kritis, maka menambahkan swap ekstra masuk akal (ini mungkin tampak kontra-intuitif, tapi saya akan jelaskan sebentar lagi). Jika Anda menjalankan kotak sebagai desktop, maka menambahkan pertukaran ekstra masuk akal.
Adapun apakah Anda harus memasukkan swap, ya, Anda harus. Anda harus selalu menyertakan ruang swap kecuali Anda benar - benar tahu apa yang Anda lakukan, dan Anda benar-benar memiliki alasan yang bagus untuk itu.
Lihat, cara kerja kernel Linux, swap tidak hanya digunakan ketika Anda telah kehabisan semua memori fisik. Kernel Linux akan mengambil aplikasi yang tidak aktif (tidur) dan setelah periode waktu tertentu, pindahkan aplikasi untuk bertukar dari memori nyata. Hasilnya adalah ketika Anda membutuhkan aplikasi itu, akan ada penundaan sesaat (biasanya hanya satu atau dua detik) sementara memori aplikasi dibaca kembali dari swap ke RAM. Dan ini biasanya hal yang baik.
Ini memungkinkan Anda untuk meletakkan aplikasi yang tidak aktif ke "sleep", memberikan akses aplikasi aktif Anda ke RAM tambahan. Selain itu, Linux akan menggunakan RAM yang tersedia (tidak terisi) pada mesin sebagai cache disk, membuat sebagian besar (lambat) aktivitas disk lebih cepat dan lebih responsif. Mengganti proses yang tidak aktif memberi Anda lebih banyak cache disk dan membuat mesin Anda secara keseluruhan lebih cepat.
Terakhir, mari kita hadapi itu, ruang disk murah. Sangat murah. Benar-benar tidak ada alasan bagus sama sekali untuk tidak menggesek sepotong (relatif) sedikit ruang untuk swap. Jika saya menjalankan dengan 2GB - 4GB RAM di mesin, saya mungkin akan mengatur ruang swap saya untuk setidaknya sama dengan RAM. Jika itu kurang dari 2GB RAM, maka saya masih akan pergi dengan minimal 2GB swap.
UPDATE: Seperti komentar yang sangat baik disebutkan (dan saya lupa untuk memasukkan), jika Anda menjalankan laptop atau desktop yang Anda mungkin ingin dimasukkan ke dalam mode 'hibernate' (Tangguhkan ke Disk), maka Anda selalu ingin setidaknya sebanyak swap karena Anda memiliki memori. Ruang swap akan digunakan untuk menyimpan konten RAM di komputer saat 'tidur'.
Red Hat merekomendasikan formula berikut untuk server dengan banyak ram:
if MEM < 2GB then SWAP = MEM*2 else SWAP = MEM+2GB
Jika sistem Anda memiliki ram 1 GB, swap Anda akan menjadi 2 GB, untuk 16 GB itu akan menjadi 18 GB.
Jawaban yang terlambat, dan saya pikir ini cukup banyak tercakup dalam jawaban yang dipilih, tetapi ada beberapa info yang baik dan mudah dicerna dalam jawaban yang diberikan oleh @ssapkota di sini (salin / tempel di bawah).
Berikut rekomendasi yang sangat bagus dari RedHat: Recommended System Swap Space
Kutipan dari tautan yang sama:
Dalam beberapa tahun terakhir, jumlah ruang swap yang direkomendasikan meningkat secara linear dengan jumlah RAM dalam sistem. Tetapi karena jumlah memori dalam sistem modern telah meningkat menjadi ratusan gigabyte, sekarang diakui bahwa jumlah ruang swap yang dibutuhkan suatu sistem adalah fungsi dari beban kerja memori yang berjalan pada sistem itu. Namun, mengingat bahwa ruang swap biasanya ditunjuk pada waktu instalasi, dan bahwa mungkin sulit untuk menentukan terlebih dahulu beban kerja memori suatu sistem , kami sarankan menentukan swap sistem menggunakan tabel berikut.
Tabel saat ini (per Desember 2012):
Amount of RAM in the system Recommended swap space Recommended swap space
if allowing for hibernation
--------------------------- ---------------------------- ---------------------------
2GB of RAM or less 2 times the amount of RAM 3 times the amount of RAM
2GB to 8GB of RAM Equal to the amount of RAM 2 times the amount of RAM
8GB to 64GB of RAM 0.5 times the amount of RAM 1.5 times the amount of RAM
64GB of RAM or more 4GB of swap space No extra space needed
Meja asli:
Amount of RAM in the System Recommended Amount of Swap Space
4GB of RAM or less a minimum of 2GB of swap space
4GB to 16GB of RAM a minimum of 4GB of swap space
16GB to 64GB of RAM a minimum of 8GB of swap space
64GB to 256GB of RAM a minimum of 16GB of swap space
256GB to 512GB of RAM a minimum of 32GB of swap space
Tergantung pada apa yang Anda lakukan dengannya. Dengan beban kerja yang sesuai, Anda sebenarnya tidak memerlukan ruang swap apa pun, apakah Anda memiliki RAM 16MB atau 16384MB; memang sebagian besar perangkat Linux tertanam berjalan tanpa (apa yang akan mereka tukarkan?)
Mengingat harga RAM, Anda mungkin tidak akan menggunakan swap untuk perhitungan aktif. Jadi, apa yang tersisa?
(2) dan (3) sangat tergantung pada beban kerja. Di desktop saya, saya dapat dengan mudah menggunakan 4GB + on (2), dari membiarkan vims, xterms, dll berjalan di desktop lain.
Pada sebagian besar server yang saya jalankan, hampir tidak pernah ada yang bertukar dan swap 1-2 GB (terlepas dari jumlah RAM) tampaknya OK.
madvise
, tapi itu tidak akan gagal ... bahwa bug berbicara tentang kehabisan memori selama pengumpulan sampah. Menambahkan swap mencegahnya, tentu saja, tetapi begitu juga dengan menambah RAM. Mungkin karena 32-bit dengan PAE?
Xms
dan Xmx
tidak menyetel ke nilai yang sama, itu dapat menggigit Anda dengan buruk: menyebabkan masalah besar bagi kami selama dua minggu hingga kami akhirnya melacaknya
Yah, itu tergantung pada layanan dan aplikasi apa yang Anda rencanakan untuk dijalankan. Anda dapat menonton penggunaan memori Anda dengan bebas -m dan menyesuaikan partisi swap Anda dari waktu ke waktu.
Inilah diskusi yang menarik tentang masalah ini. Secara pribadi (dan setelah membaca diskusi itu) saya masih menyisakan sekitar 1 GB untuk swap.
Saya tidak dapat berbicara dengan Debian secara langsung, tetapi saya tahu bahwa ketika Anda mendapatkan RAM di atas 2 GB, persamaan 2xRAM aslinya berubah, biasanya turun menjadi 1xRAM. Saya pikir setelah Anda menekan 16 GB RAM sarannya turun lagi menjadi .75xRAM.
Tentu saja, saya menemukan ini benar untuk Solaris, dan sebenarnya adalah metrik yang digunakan untuk instalasi Oracle, jadi YMMV tergantung pada aplikasi yang akan Anda jalankan di sana.
Swap space dapat berfungsi sebagai "padding" saat Anda kehabisan memori segera.
Ketika suatu proses mengkonsumsi semua RAM yang tersedia dan kemudian beberapa mesin akan berjalan sangat lambat, tetapi Anda biasanya akan dapat pulih. Ini juga akan lebih mudah untuk melihat proses mana yang menyebabkan masalah.
Selama bertahun-tahun saya telah mengikuti aturan bahwa untuk mesin Windows Anda memiliki swap lebih banyak dari RAM Anda ... Di Novell kita akan menyetel swap lebih tinggi jika kita memiliki lebih banyak printer ... Untuk linux aturan dan praktiknya untuk saya adalah 1GB tukar untuk setiap RAM 2GB yang Anda miliki. Dan Anda meletakkannya di bagian depan disk sehingga diakses lebih cepat.
jika itu adalah server LAMP aturan 1/2 berlaku.
Mileage akan bervariasi tergantung pada aplikasi dan penggunaan GUI.
Saya membuat swap 1GB dan membeli lebih banyak RAM begitu digunakan. Anda tidak benar-benar membutuhkan swap di komputer modern, RAM sangat murah.
Untuk apa Anda menggunakan sistem ini? Secara pribadi saya tidak menggunakan swap apa pun. Jika ada yang menggunakan token 512MB atau sesuatu hanya supaya hal-hal bisa dimasukkan ke disk jika tetap tetapi tidak aktif untuk waktu yang lama.
Saya hanya menggunakan token swap kecil (biasanya 256 MB, tetapi saya bahkan sudah melakukan 64 MB) karena mengkonfigurasi sistem dengan nol swap memerlukan konfigurasi khusus.
Ruang disk murah, tapi slooooooooow. Segera setelah sistem mulai bertukar, kinerjanya nol. Dan RAM tidak lagi begitu mahal.
Percayalah, beli prosesor yang sedikit lebih lambat dan beli lebih banyak RAM. 2,8 GHz bukannya 3,0 GHz akan menghemat cukup uang untuk membeli RAM 2 GB, setidaknya.