Pada server Linux, swap merupakan ruang pada disk yang digunakan sebagai memori virtual untuk mendukung memori utama (RAM). Ketika RAM sudah hampir penuh, kernel Linux memindahkan proses yang tidak aktif ke swap agar ada cukup ruang untuk proses yang lebih aktif. Swap tidak setara dengan RAM, namun membantu sistem tetap berfungsi saat memori fisik penuh, dengan menggunakan sebagian dari ruang disk sebagai cadangan.
Untuk sobat server yang menggunakan server cloud, seperti Rackspace, secara default partisi swap tidak tersedia. Namun, sobat server bisa menambahkan swap dengan membuat swap file. Keuntungan menggunakan file swap dibandingkan dengan partisi swap adalah fleksibilitas dalam pengaturan ukuran tanpa harus mempartisi ulang volume disk. Sobat server juga bisa mengatur seberapa agresif sistem menggunakan ruang swap ini melalui pengaturan nilai swappiness.
Berikut ini adalah langkah-langkah menambahkan swap di sistem Linux dan cara mengatur nilai swappiness agar swap dapat bekerja optimal.
1. Cara Membuat Berkas Swap di Linux
Pertama-tama, sobat server perlu membuat berkas swap baru. Sebagai contoh, kita akan menambahkan 1GB swap ke server.
Langkah 1: Membuat File Swap
Sobat server bisa menggunakan perintah fallocate
untuk membuat berkas swap dengan ukuran yang diinginkan. Dalam contoh ini, kita membuat berkas swap sebesar 1GB:
root@jagoserver:~# fallocate -l 1G /mnt/1GB.swap
Jika sobat server mendapati perintah fallocate
tidak terinstal atau tidak berfungsi, gunakan perintah dd
sebagai alternatif untuk membuat berkas swap:
root@jagoserver:~# dd if=/dev/zero of=/mnt/1GB.swap bs=1024 count=1048576
Perintah ini akan mengisi berkas swap dengan data nol, memastikan bahwa berkas tersebut berukuran 1GB.
Langkah 2: Format Berkas Swap
Setelah berkas swap dibuat, langkah berikutnya adalah memformat berkas tersebut menjadi swap yang bisa digunakan oleh sistem. Gunakan perintah berikut untuk melakukan format:
root@jagoserver:~# mkswap /mnt/1GB.swap
Perintah ini memberitahu sistem bahwa berkas /mnt/1GB.swap
akan digunakan sebagai ruang swap.
Langkah 3: Mengaktifkan Berkas Swap
Setelah berkas swap berhasil diformat, sobat server dapat mengaktifkannya menggunakan perintah swapon
:
root@jagoserver:~# swapon /mnt/1GB.swap
Sekarang, swap ini sudah aktif dan siap digunakan oleh sistem.
Langkah 4: Membuat Swap Permanen
Agar pengaturan swap ini tetap aktif setelah sistem di-reboot, sobat server harus menambahkan entri baru di berkas /etc/fstab
. Tambahkan baris berikut ke akhir berkas tersebut:
/mnt/1GB.swap none swap sw 0 0
Dengan menambahkan baris ini, swap akan otomatis aktif setiap kali server di-boot ulang.
2. Mengatur Nilai Swappiness
Swappiness adalah parameter yang mengatur seberapa sering sistem akan menggunakan swap. Nilai swappiness berkisar antara 0 hingga 100. Nilai yang lebih rendah (seperti 0) membuat sistem jarang menggunakan swap dan hanya mengandalkannya ketika memori benar-benar habis. Sementara nilai yang lebih tinggi (hingga 100) membuat sistem lebih sering menukar data ke swap meskipun memori belum penuh.
Mengatur Swappiness
Untuk mengubah nilai swappiness, sobat server bisa mengedit berkas /etc/sysctl.conf
dan menambahkan baris berikut:
vm.swappiness=10
Nilai swappiness sebesar 10 adalah titik awal yang baik. Jika sobat server ingin sistem lebih sering menggunakan swap, sobat server bisa meningkatkan nilai ini. Nilai default pada kebanyakan sistem Linux biasanya 60. Bereksperimenlah dengan nilai swappiness untuk menemukan konfigurasi yang optimal bagi beban kerja server sobat.
Periksa Nilai Swappiness
Sobat server bisa memeriksa nilai swappiness saat ini dengan menjalankan perintah berikut:
root@jagoserver:~# cat /proc/sys/vm/swappiness
Jika diperlukan, restart server untuk menerapkan pengaturan baru:
root@jagoserver:~# shutdown -r now
3. Mengecek Status Berkas Swap
Untuk memastikan swap yang telah dibuat aktif dan digunakan oleh sistem, jalankan perintah berikut untuk menampilkan status swap:
root@jagoserver:~# swapon -s
Perintah ini akan menampilkan informasi mengenai semua ruang swap yang aktif, termasuk berapa banyak swap yang sedang digunakan.
4. Keamanan Swap File
Perlu dicatat bahwa swap yang dibuat di server baru, terutama di server cloud, mungkin memiliki izin akses yang terbuka untuk semua pengguna. Agar berkas swap hanya dapat diakses oleh root dan lebih aman, sobat server perlu mengatur izin akses berkas tersebut:
root@jagoserver:~# chmod 600 /mnt/1GB.swap
Dengan mengatur izin menjadi 600, hanya pengguna root yang dapat membaca dan menulis ke berkas swap, sementara pengguna lain tidak dapat mengaksesnya.
Kesimpulan
Menambahkan swap ke server Linux memberikan fleksibilitas tambahan saat sobat server menjalankan aplikasi yang memerlukan banyak memori. Swap memungkinkan server untuk memindahkan proses yang tidak aktif ke disk, membebaskan memori untuk proses yang lebih kritis.
Dengan langkah-langkah di atas, sobat server dapat menambahkan swap secara manual, menyesuaikan ukuran swap sesuai kebutuhan, serta mengoptimalkan penggunaannya dengan mengubah nilai swappiness. Jangan lupa juga untuk memperhatikan keamanan swap dengan mengatur izin berkas swap agar hanya bisa diakses oleh pengguna root.
Swap bukanlah pengganti memori fisik (RAM), namun merupakan solusi sementara yang sangat membantu dalam mengatasi beban kerja yang memerlukan memori besar. Dengan mengelola swap secara tepat, sobat server dapat meningkatkan kinerja server secara keseluruhan.