Ubuntu, sebagai salah satu distribusi Linux yang paling populer, mengandalkan mekanisme yang efisien untuk mengelola sumber daya RAM yang terbatas.
Di sinilah peran Swap Memory menjadi sangat vital.
Swap Memory pada Ubuntu berfungsi sebagai ruang cadangan di dalam storage (hard disk atau SSD) yang digunakan oleh sistem operasi untuk menampung data-data yang tidak aktif dari RAM.
Ketika RAM fisik telah penuh, sistem akan “menukar” (swap) halaman memori yang kurang prioritas ke dalam partisi atau file swap ini, sehingga mencegah terjadinya crash aplikasi ataupun kegagalan sistem secara keseluruhan.
Memeriksa Informasi Swap
Sebelum mulai mengkonfigurasi, langkah pertama adalah memeriksa apakah sistem sudah memiliki ruang swap yang aktif atau tidak.
Untuk memeriksa ketersediaan swap saat ini, jalankan perintah berikut di terminal:
sudo swapon –show
Tidak adanya keluaran dari perintah tersebut menandakan bahwa tidak ada ruang swap yang saat ini terkonfigurasi pada sistem.
Untuk memastikan tidak ada swap yang aktif, Anda dapat menggunakan utilitas free dengan opsi -h untuk menampilkan informasi dalam format yang mudah dibaca:
free -h
Jika output pada baris ‘Swap’ menunjukkan nilai 0, yang mengindikasikan tidak adanya aktivitas swap pada sistem.
Memeriksa Ruang Storage pada Partisi
Langkah penting sebelum membuat file swap adalah memverifikasi kapasitas disk yang tersedia. Perintah df dengan opsi -h akan menampilkan informasi penggunaan partisi disk dalam format yang mudah dibaca:
df -h

Partisi yang ditandai dengan / pada kolom ‘Mounted on‘ merupakan root filesystem yang akan kita gunakan. Dalam contoh ini, terlihat ruang yang tersedia masih sangat mencukupi (hanya 4.9 GB terpakai). Besaran penggunaan pada sistem kamu mungkin akan berbeda.
Penentuan ukuran swap yang ideal dapat bervariasi tergantung kebutuhan spesifik dan preferensi pribadi.
Sebagai pedoman umum, alokasi swap sebesar 1x hingga 2x dari kapasitas RAM fisik dapat menjadi titik awal yang baik. Pertimbangkan bahwa alokasi swap berkapasitas besar mungkin tidak diperlukan jika hanya berfungsi sebagai cadangan memori.
Membuat Direktori Swap
Setelah memastikan ketersediaan ruang storage, langkah selanjutnya adalah membuat file swap di sistem. Kita akan membuat file bernama swapfile di direktori root (/) dengan ukuran sesuai kebutuhan.
Metode yang direkomendasikan adalah menggunakan utilitas fallocate, yang dapat membuat file dengan ukuran spesifik secara instan.
Contoh: Untuk server dengan RAM 1GB, kita akan membuat file swap 1GB. Sesuaikan ukuran berikut dengan kebutuhan sistem Anda:
sudo fallocate -l 1G /swapfile
Pastikan file swap telah dibuat dengan ukuran yang sesuai dengan memeriksa detail filenya:
ls -lh /swapfile
Mengaktifkan Direktori Swap
Setelah file berukuran tepat tersedia, langkah selanjutnya adalah mengonversinya menjadi ruang swap yang dapat digunakan sistem.
Pertama, amankan file tersebut dengan membatasi hak akses agar hanya pengguna root yang dapat mengaksesnya.
Tindakan ini penting untuk mencegah pengguna biasa membaca konten file swap, yang berpotensi mengandung data sensitif dari memori sistem.
sudo chmod 600 /swapfile
Verifikasi bahwa perubahan izin telah diterapkan dengan benar menggunakan perintah:
ls -lh /swapfile

Seperti terlihat pada output, hanya pengguna root yang memiliki izin baca dan tulis pada file tersebut, yang ditandai dengan -rw——-.
Setelah konfigurasi keamanan selesai, langkah berikutnya adalah mengonversi file ini menjadi ruang swap yang dapat digunakan sistem dengan perintah:
sudo mkswap /swapfile
Setelah file berhasil diformat sebagai swap, langkah selanjutnya adalah mengaktifkannya agar sistem dapat mulai menggunakan ruang swap tersebut:
sudo swapon /swapfile
Verifikasi bahwa swap telah berhasil diaktifkan dengan perintah:
sudo swapon –show

Sebagai konfirmasi tambahan, periksa kembali dengan utilitas free untuk memverifikasi bahwa swap kini aktif dan tersedia:
free -h

Ruang swap telah berhasil dikonfigurasi dan siap digunakan. Sistem operasi akan secara otomatis memanfaatkannya ketika kapasitas RAM fisik hampir penuh.
Membuat Direktori Swap Jadi Permanen
Swap yang kita aktifkan hanya berlaku untuk sesi sistem saat ini. Agar pengaturan ini tetap persist setelah reboot, kita perlu menambahkan entri swap ke dalam file /etc/fstab.
Sebagai tindakan pencegahan, disarankan untuk membuat backup file fstab terlebih dahulu:
sudo cp /etc/fstab /etc/fstab.bak
Tambahkan aturan mount swap ke /etc/fstab agar diaktifkan otomatis saat boot. Baris berikut mendefinisikan file swap tanpa filesystem dan opsi mount khusus:
echo ‘/swapfile none swap sw 0 0’ | sudo tee -a /etc/fstab
Setelah konfigurasi dasar swap selesai, kita dapat mengoptimalkan performanya dengan menyesuaikan beberapa parameter sistem.
Pengaturan berikut memengaruhi bagaimana sistem mengelola dan menggunakan ruang swap.
Tuning Memory Swap Ubuntu
Swappiness adalah pengaturan yang mengontrol “Patience” sistem sebelum menggunakan swap:
- 0-30: Pertahankan data di RAM selama mungkin
 - 40-60: Seimbang (default biasanya 60)
 - 70-100: Cepat pindah ke swap
 
Periksa nilai saat ini dengan:
cat /proc/sys/vm/swappiness

Untuk penggunaan desktop, nilai swappiness 60 umumnya sudah cukup baik.
Namun untuk server, disarankan nilai yang lebih rendah (mendekati 0) guna mengoptimalkan kinerja dengan meminimalkan akses disk.
Kita dapat mengubah nilai swappiness menggunakan perintah sysctl. Contoh untuk mengatur nilai menjadi 10:
sudo sysctl vm.swappiness=10

Perubahan yang kita lakukan hanya bersifat sementara dan akan kembali ke nilai default setelah sistem di-restart.
Untuk membuat pengaturan ini permanen, tambahkan baris konfigurasi ke file /etc/sysctl.conf:
sudo nano /etc/sysctl.conf
Tambahkan baris berikut di bagian akhir file /etc/sysctl.conf:
vm.swappiness=10
Simpan perubahan dengan menekan Ctrl + O, lalu tutup editor dengan Ctrl + X .
Menyesuaikan Pengaturan Cache Pressure
Parameter vfs_cache_pressure mengatur prioritas sistem dalam mengalokasikan cache untuk metadata filesystem (seperti inode dan entry) dibandingkan dengan data biasa.
Metadata ini berisi informasi struktur filesystem yang sangat sering diakses dan sulit untuk direlookup, sehingga caching yang optimal akan significantly meningkatkan performa I/O.
cat /proc/sys/vm/vfs_cache_pressure

Konfigurasi saat ini menyebabkan cache inode dibersihkan terlalu cepat. Nilai 50 akan membuat sistem lebih mempertahankan cache metadata filesystem. Terapkan dengan Perintah:
sudo sysctl vm.vfs_cache_pressure=50
Seperti pengaturan sebelumnya, perubahan ini hanya berlaku untuk sesi sistem saat ini. Untuk membuatnya permanen, tambahkan baris konfigurasi yang sama ke file /etc/sysctl.conf:
sudo nano /etc/sysctl.conf
Tambahkan baris berikut di bagian akhir file /etc/sysctl.conf:
vm.vfs_cache_pressure=50
Simpan perubahan dengan menekan Ctrl + O dan tutup editor dengan Ctrl + X .

 