Swap di linux

Mengapa Swap

Merupakan salah satu cara termudah untuk mengantisipasi kehabisan memori dalam sistem operasi dengan menambahkan beberapa ruang swap ke server. Kali ini membahas cara menambahkan file swap ke server Ubuntu 18.04.

Apa itu Swap?

Swap adalah area pada hard drive yang telah ditetapkan sebagai tempat sistem operasi dapat menyimpan data sementara yang tidak dapat lagi disimpan di RAM. Pada dasarnya, ini memberi Anda kemampuan untuk meningkatkan jumlah informasi yang dapat disimpan server Anda dalam “memori” kerjanya, dengan beberapa peringatan. Ruang swap pada hard drive akan digunakan terutama ketika tidak ada lagi ruang yang cukup di RAM untuk menyimpan data aplikasi yang sedang digunakan.

Informasi yang ditulis ke disk akan jauh lebih lambat daripada informasi yang disimpan dalam RAM, tetapi sistem operasi akan memilih untuk tetap menjalankan data aplikasi dalam memori dan menggunakan swap untuk data yang lebih lama. Secara keseluruhan, memiliki ruang swap sebagai cadangan saat RAM sistem Anda habis dapat menjadi salah satu pengaman yang baik.

Melihat swap

#sudo swapon –show

Jika tidak mendapatkan keluaran seperti di atas, berarti di sistem tidak memiliki swap. Kita dapat melihat swap yang aktif dengan cara

#sudo free -m

Memeriksa Ruang yang Tersedia di Partisi Hard Drive

Sebelum membuat file swap, kita dapat memeriksa penggunaan disk saat ini untuk memastikan memiliki cukup ruang. Lakukan ini dengan memasukkan:

#df -h

Perangkat dengan / di kolom Mounted on adalah disk dalam kasus ini. Server memiliki sedikit ruang yang tersedia dalam contoh ini (26G yang digunakan). Penggunaan Anda mungkin akan berbeda. Meskipun ada banyak pendapat tentang ukuran ruang swap yang sesuai, itu sangat tergantung pada preferensi pribadi dan persyaratan aplikasi Anda. Umumnya, jumlah yang sama dengan atau dua kali lipat jumlah RAM di sistem Anda adalah titik awal yang baik.
Membuat File Swap
Sekarang kita tahu ruang hard drive kita yang tersedia, kita dapat membuat file swap di sistem file kita. Kita akan mengalokasikan file dengan ukuran swap yang diinginkan disebut swapfile di direktori root (/). Cara terbaik untuk membuat file swap adalah dengan program fallocate. Perintah ini langsung membuat file dengan ukuran yang ditentukan. Karena server dalam contoh memiliki RAM 1G, kita akan membuat file 1G dalam panduan ini. Sesuaikan ini untuk memenuhi kebutuhan server Anda sendiri:
#sudo fallocate -l 1G /swapfile

Mengaktifkan File Swap

Sekarang kita memiliki file dengan ukuran yang benar, kita perlu mengubahnya menjadi ruang swap. Pertama, kita perlu mengunci izin file sehingga hanya pengguna dengan hak akses root yang dapat membaca isinya. Hal ini mencegah pengguna biasa untuk dapat mengakses file tersebut, yang akan memiliki implikasi keamanan yang signifikan. Jadikan file hanya dapat diakses oleh root dengan mengetik:

#sudo chmod 600 /swapfile

Sekarang kita dapat menandai file sebagai ruang swap dengan mengetik:

#sudo mkswap  /swapfile

Setelah menandai file, kami dapat mengaktifkan file swap, memungkinkan sistem kami untuk mulai menggunakannya:

#sudo swapon /swapfile

Untuk memverifikasi bahwa swap tersedia dengan mengetik:

#sudo swapon –show

Membuat File Swap Permanen

Perubahan terbaru kami telah mengaktifkan file swap untuk sesi saat ini. Namun, jika kita reboot, server tidak akan mempertahankan pengaturan swap secara otomatis. Kita dapat mengubahnya dengan menambahkan file swap ke file /etc/fstab. Cadangkan file /etc/fstab jika terjadi kesalahan:

#sudo cp /etc/fstab /etc/fstab.bak

Tambahkan informasi file swap ke akhir file /etc/fstab Anda dengan mengetik:

#echo ‘/swapfile none swap sw 0 0’ | sudo tee -a /etc/fstab.

Selanjutnya kami akan meninjau beberapa setelan yang dapat kami perbarui untuk menyesuaikan ruang swap kami.

Tunning Swap Server

Ada beberapa opsi yang dapat Anda konfigurasikan yang akan berdampak pada kinerja sistem Anda saat menangani swap. Menyesuaikan Properti Swappiness Parameter swappiness mengkonfigurasi seberapa sering sistem Anda menukar data dari RAM ke ruang swap. Ini adalah nilai antara 0 dan 100 yang mewakili persentase. Dengan nilai mendekati nol, kernel tidak akan menukar data ke disk kecuali benar-benar diperlukan. Ingat, interaksi dengan file swap itu “mahal” karena membutuhkan waktu lebih lama daripada interaksi dengan RAM dan dapat menyebabkan penurunan kinerja yang signifikan. Memberi tahu sistem untuk tidak terlalu mengandalkan swap umumnya akan membuat sistem Anda lebih cepat. Nilai yang mendekati 100 akan mencoba memasukkan lebih banyak data ke swap dalam upaya menjaga lebih banyak ruang RAM kosong. Bergantung pada profil memori aplikasi Anda atau untuk tujuan apa Anda menggunakan server, ini mungkin lebih baik dalam beberapa kasus. Kita bisa melihat nilai swappiness saat ini dengan mengetik: cat / proc / sys / vm / swappiness Keluaran 60 Untuk Desktop, pengaturan swappiness 60 bukanlah nilai yang buruk. Untuk server, Anda mungkin ingin memindahkannya lebih dekat ke 0. Kita dapat mengatur swappiness ke nilai yang berbeda dengan menggunakan perintah sysctl. Misalnya, untuk menyetel swappiness menjadi 10, kita bisa mengetik: sudo sysctl vm.swappiness = 10 Keluaran vm.swappiness = 10 Pengaturan ini akan bertahan hingga reboot berikutnya. Kita dapat mengatur nilai ini secara otomatis saat restart dengan menambahkan baris ke file /etc/sysctl.conf kita: sudo nano /etc/sysctl.conf Di bagian bawah, Anda dapat menambahkan: /etc/sysctl.conf vm.swappiness = 10 Simpan dan tutup file setelah Anda selesai. Menyesuaikan Pengaturan Tekanan Cache Nilai terkait lainnya yang mungkin ingin Anda ubah adalah vfs_cache_pressure. Pengaturan ini mengkonfigurasi seberapa banyak sistem akan memilih untuk menyimpan informasi inode dan dentry di atas data lain. Pada dasarnya, ini adalah akses data tentang sistem file. Biasanya ini sangat mahal untuk dicari dan sangat sering diminta, jadi sistem Anda sangat baik untuk melakukan cache. Anda dapat melihat nilai saat ini dengan menanyakan sistem file proc lagi: cat / proc / sys / vm / vfs_cache_pressure Keluaran 100 Karena saat ini dikonfigurasi, sistem kami menghapus informasi inode dari cache terlalu cepat. Kita dapat mengatur ini ke pengaturan yang lebih konservatif seperti 50 dengan mengetik: sudo sysctl vm.vfs_cache_pressure = 50 Keluaran vm.vfs_cache_pressure = 50 Sekali lagi, ini hanya berlaku untuk sesi kami saat ini. Kita dapat mengubahnya dengan menambahkannya ke file konfigurasi kita seperti yang kita lakukan dengan pengaturan swappiness kita: sudo nano /etc/sysctl.conf Di bagian bawah, tambahkan baris yang menentukan nilai baru Anda: /etc/sysctl.conf vm.vfs_cache_pressure = 50

Sumber : https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-18-04