Saya bertanya-tanya karena saya mendengar bahwa swap digunakan ketika Anda keluar atau RAM dan dan menukar terlalu banyak adalah buruk, karena saya memiliki banyak RAM (8GB) ....
bagaimana jika saya tidak membuat partisi swap?
Juga, apakah saya memerlukannya untuk hibernasi atau tidak harus?
linux
swap
swappiness
Mihai Bratulescu
sumber
sumber
Jawaban:
Sistem operasi modern membutuhkan ruang swap untuk membuat penggunaan RAM yang efisien. Bahkan jika sistem Anda memiliki banyak RAM, pemborosan RAM menghasilkan cache buffer yang lebih kecil, yang berarti peningkatan I / O disk. Jadi, tidak peduli berapa banyak RAM yang Anda miliki, Anda tetap ingin sistem menggunakannya secara efisien. Menggunakannya secara efisien berarti mengeluarkan banyak hal dari RAM yang sangat tidak mungkin diakses.
Ketika Anda memulai sistem tipikal, sejumlah besar layanan memulai. Program menjalankan kode inisialisasi dan memodifikasi pemetaan memori pribadi dalam proses. Sejumlah layanan ini akan tak pernah berlari lagi. Banyak dari mereka tidak akan berjalan selama berjam-jam. Tanpa swap, OS tidak memiliki pilihan selain menyimpan pemetaan memori pribadi yang dimodifikasi yang terkait dengan layanan-layanan tersebut dalam RAM selamanya. Itu RAM yang tidak pernah bisa digunakan sebagai cache disk.
Jadi Anda ingin bertukar apakah Anda membutuhkannya atau tidak.
sumber
Saya telah menjalankan sistem desktop tanpa swap apa pun selama beberapa tahun, dan itu berjalan dengan baik! Ada beberapa perilaku yang berbeda; beberapa di antaranya menguntungkan dan beberapa mungkin membahayakan Anda. Itu semua tergantung pada apa yang Anda lakukan.
Satu perbedaan utama adalah bagaimana sistem berperilaku ketika kehabisan memori:
Jika tidak ada partisi swap, pembunuh OOM langsung berjalan. Jika Anda memiliki program memori yang bocor, kemungkinan itu adalah program yang terbunuh. Itu terjadi dan Anda memulihkan sistem hampir secara instan.
Jika ada aku s partisi swap, kernel mendorong isi memori ke swap. Proses yang salah dapat terus mengalokasikan memori. Ini terus terjadi sampai swap habis, yang bisa sepuluh menit hingga satu jam jika Anda memiliki partisi swap besar. Saat melakukan ini, sistem Anda melambat hingga merangkak. Menjadi tidak mungkin untuk membuka terminal dan mematikan prosesnya. Saya biasanya mencabut kabel listrik saat ini terjadi.
Jadi, karena saya akan kehilangan data saya bagaimanapun ketika sistem OOM, saya lebih suka opsi sebelumnya untuk setidaknya memiliki kesempatan (tinggi) pemulihan.
sumber
Swap diperlukan untuk hibernasi, jika tidak Anda bisa bertahan tanpa itu baik-baik saja.
sumber
Ini adalah kesalahpahaman umum untuk berpikir memiliki area swap berdampak negatif terhadap kinerja. Apa yang sangat memengaruhi kinerja adalah tidak memiliki cukup RAM. Area swap per se tidak memiliki efek negatif pada kinerja kecuali jika Anda tidak peduli dengan keandalan. Itu dapat memiliki positif berdampak pada kinerja bahkan saat Anda merasa memiliki cukup RAM (dan tidak ada kekurangan RAM yang dilaporkan).
Pada dasarnya ada tiga kasus untuk dipertimbangkan:
1: Ada cukup RAM untuk kebutuhan kernel internal, untuk semua aplikasi Anda agar set halaman berfungsi pada RAM dan masih memiliki "bebas" RAM untuk cache buffer untuk menyimpan sebagian besar data sistem file panas.
2: sama seperti di atas kecuali Anda tidak memiliki cukup RAM bebas untuk cache buffer menjadi sangat efisien.
3: Tidak ada cukup RAM untuk bahkan menyimpan halaman yang digunakan aplikasi Anda.
Dalam kasus 1, yang seharusnya menjadi norma untuk mesin produksi, memiliki area swap atau tidak tidak mengubah apa pun (setidaknya pada OS berbasis Linux dan OS lain yang terlalu banyak melakukan memori).
Dalam kasus 2, memiliki area swap mungkin memperbaiki kinerja keseluruhan dengan memungkinkan sistem untuk keluar halaman sangat jarang digunakan dan kemudian memungkinkan buffer cache untuk memainkan perannya dengan lebih baik.
Dalam kasus 3, memiliki area swap memungkinkan aplikasi untuk terus berjalan dengan mengorbankan penurunan kinerja akibat pagination. Di sisi lain, kehilangan area swap (atau yang cukup besar) akan membuat aplikasi crash secara acak. Selain itu, tergantung pada pengaturan OS, pembunuh OOM mungkin juga memutuskan untuk mematikan sebagian besar aplikasi yang membutuhkan banyak memori jika ada permintaan RAM yang kuat tanpa memberi mereka kesempatan untuk menyimpan data penting (Anda).
Kasus terakhir ini adalah kasus yang harus Anda pilih. Tentu saja ada beberapa kasus penggunaan di mana proses terbunuh adalah pilihan yang lebih disukai seperti sistem di mana waktu respons sangat penting dan di mana kehilangan transaksi / proses bukanlah masalah besar.
Namun, saya cenderung percaya pada sebagian besar situasi, lebih baik untuk dapat memberi kesempatan bagi pengguna / administrator untuk melihat kekurangan RAM dan bertindak sesuai tanpa risiko kehilangan data.
sumber
Jika Anda tidak ingin menggunakan partisi swap, Anda dapat menggunakan file swap: gambar sistem file yang disimpan pada file biasa dan digunakan sebagai ruang swap Anda.
Artikel berikut menjelaskan cara melakukannya secara rinci:
sumber
Ini agak berbahaya tetapi Anda BISA menjalankan tanpa ruang swap. Tetapi jika Anda akhirnya melebihi jumlah memori yang Anda miliki, sistem Anda akan segera crash tanpa pemberitahuan.
Apa swap memberi Anda pada dasarnya adalah perpanjangan tetapi jauh lebih lambat untuk memori Anda. Jika Anda melebihi Anda akan mulai bertukar, itu benar-benar akan mengambil kehidupan dari sistem Anda .... NAMUN dengan membunuh proses yang salah Anda masih dapat menyelamatkan sistem Anda.
Beberapa program bersikeras mengalokasikan (tetapi tidak menggunakan) ruang swap, beberapa di antaranya adalah program basis data jika saya ingat. Sekali lagi, dengan tidak memiliki ruang swap Anda dapat membatasi program yang mungkin dijalankan.
Akhirnya, lihat SWAP MURAH dalam kenyataan bahwa Anda tidak perlu membuat cadangan area. (Saya harap Anda adalah salah satu dari sysadmin luar biasa yang baik yang membuat cadangan sistem mereka).
Jadi buat itu.
Aturan praktis saya dulunya 2 * ukuran memori ..... tapi sekarang mengatakan saya ok dalam banyak kasus dengan 1 * ukuran memori tetapi umumnya menggunakan 1,5 * (ukuran memori). Anda tidak harus membuat jumlah yang besar ini, tapi saya akan ... terutama jika ada jenis pekerjaan produksi yang Anda lakukan.
Oh ya, dan untuk hibernasi, swap DIBUTUHKAN untuk menampung gambar memori total. Dan dengan demikian ukuran jika Anda mempertimbangkan h8ibernasi harus SETIDAKNYA (1 * ukuran memori) + 100MB .. 100 MB adalah untuk overhead yang mungkin diperlukan dalam proses.
sumber