Swap adalah ruang pada disk yang digunakan ketika jumlah memori RAM fisik penuh. Ketika sistem Linux kehabisan RAM, halaman tidak aktif dipindahkan dari RAM ke ruang swap.
Swap space dapat berbentuk partisi swap khusus atau file swap. Dalam kebanyakan kasus ketika menjalankan CentOS pada mesin virtual, partisi swap tidak ada sehingga satu-satunya pilihan adalah membuat file swap.
Pada tutorial ini akan dijelaskan cara menambahkan file swap pada sistem CentOS 7.
Contents
Persiapan
Sebelum memulai tutorial sesuai judul, perlu diperiksa apakah instalasi CentOS Anda telah mengaktifkan swap dengan mengetik:
$ sudo swapon --show
Jika output kosong, maka ruang swap belum diaktifkan pada sistem Anda. Tapi jika output yang ada seperti di bawah ini, maka swap telah aktif:
NAME TYPE SIZE USED PRIO /dev/dm-1 partition 1.5G 0B -1
Merupakan hal yang tidak wajar memiliki beberapa ruang swap pada satu sistem (meskipun memungkinkan untuk melakukannya).
Membuat Swap di Centos 7
User yang Anda gunakan harus memiliki hak akses sudo untuk dapat mengaktifkan swap. Dalam tutorial ini, kami akan menambahkan 1G swap, jika Anda ingin menambahkan lebih banyak swap, ganti 1G dengan ukuran ruang swap yang Anda butuhkan.
Ikuti langkah-langkah di bawah ini untuk menambahkan ruang swap pada sistem CentOS 7.
01. Pertama, buat file yang akan digunakan sebagai ruang swap:
$ sudo fallocate -l 1G /swapfile
Jika utilitas fallocate
tidak tersedia dalam sistem Anda atau Anda mendapatkan pesan error yang mengatakan fallocate failed: Operation not supported
, gunakan perintah berikut untuk membuat file swap:
$ sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576
02. Pastikan hanya user root yang dapat membaca dan menulis file swap dengan mengatur perizinan akses yang benar:
$ sudo chmod 600 /swapfile
03. Selanjutnya, siapkan area swap Linux pada file:
$ sudo mkswap /swapfile
04. Jalankan perintah berikut untuk mengaktifkan swap:
$ sudo swapon /swapfile
Buat perubahan itu permanen dengan membuka file /etc/fstab
:
$ sudo nano /etc/fstab
lalu tambahkan perintah berikut:
/etc/fstab /swapfile swap swap defaults 0 0
05. Verifikasi bahwa swap aktif dengan menggunakan “swapon” atau perintah “free” seperti yang ditunjukkan di bawah ini:
$ sudo swapon --show
NAME TYPE SIZE USED PRIO /swapfile file 1024M 507.4M -1
$ sudo free -h
Output total used free shared buff/cache available Mem: 488M 158M 83M 2.3M 246M 217M Swap: 1.0G 506M 517M
Menyesuaikan Nilai Swappiness
Swappiness adalah properti kernel Linux yang menentukan seberapa sering sistem akan menggunakan ruang swap. Swappiness dapat memiliki nilai antara 0 dan 100. Nilai yang rendah akan membuat kernel mencoba menghindari bertukar kapan pun, sementara nilai yang lebih tinggi akan membuat kernel untuk menggunakan ruang swap lebih agresif.
Nilai swappiness default pada CentOS 7 adalah 30. Anda dapat memeriksa nilai swappiness saat ini dengan mengetik perintah berikut:
$ cat /proc/sys/vm/swappiness
Output 30
Nilai swappiness 30 sudah cukup untuk desktop dan mesin pengembangan, sementara untuk server produksi diperlukan nilai yang lebih rendah.
Misalnya, untuk mengatur nilai swappiness ke 10, ketik:
$ sudo sysctl vm.swappiness=10
Untuk membuat parameter ini persisten di seluruh reboot, tambahkan perintah berikut ke file /etc/sysctl.conf
:
vm.swappiness=10
Nilai swappiness optimal tergantung pada beban kerja sistem Anda dan bagaimana memori digunakan. Anda harus menyesuaikan parameter ini sedikit demi sedikit untuk menemukan nilai yang optimal.
Menghapus File Swap
Untuk menonaktifkan dan menghapus file swap, ikuti langkah-langkah ini:
01. Mulailah dengan menonaktifkan ruang swap dengan mengetik:
$ sudo swapoff -v /swapfile
02. Selanjutnya, hapus entri file swap /swapfile swap swap defaults 0 0
dari file /etc/fstab
03. Terakhir, hapus file swapfile yang sebenarnya dengan rm
:
$ sudo rm /swapfile