Home Tutorial Apa Itu Swap Memory? Tutorial Membuat Swap Memory di Sistem Linux Modern

Apa Itu Swap Memory? Tutorial Membuat Swap Memory di Sistem Linux Modern

88
0
Swap Memory di Sistem Linux Modern
Swap Memory di Sistem Linux Modern

Swap memory merupakan istilah yang sering kita temukan di sistem operasi Linux, dengan memanfaatkan ruang di HDD/SSD dan berfungsi sebagai memory cadangan (virtual) saat RAM fisik penuh. Swap berfungsi untuk mencegah sistem Anda crash maupun hang akibat kekurangan resource alokasi memory. Namun, Swap memory umumnya bekerja lebih lambat dari RAM fisik yang real. Sehingga lebih ideal jika digunakan hanya untuk data tidak aktif, dan biasanya dibuat dalam bentuk swapfile (fleksibel) dan swap partition (stabil).

Fungsi Utama Swap Memory di Linux:
  • RAM Tambahan: Menyediakan memori virtual tambahan saat alokasi RAM fisik 100% terpakai.
  • Hibernasi: Diperlukan agar fitur hibernasi (suspend-to-disk) pada laptop/PC dapat berfungsi.
  • Stabilitas: Mencegah aplikasi tertutup paksa (OOM Killer) saat sistem kehabisan memori.

Di ekosistem server berbasis Linux, Swap memory wajib digunakan jika Anda memiliki Virtual Machine dengan alokasi RAM terbatas, misal hanya 1-2GB. Namun, di lingkungan Virtual Machine (VM) atau VPS (Virtual Private Server), Swap umumnya hanya dapat dipasang di virtualisasi berjenis KVM (Kernel-based Virtual Machine). Hal tersebut karena KVM merupakan virtualisasi di tingkat hardware (hardware-level virtualization) yang mengizinkan setiap VPS berjalan dan memiliki kernel Linux sendiri, serta tidak terikat dengan kernel host (node server).

Bisa disebut KVM bertindak layaknya server fisik yang terpisah, sehingga secara penuh mendukung partisi swap dan swap file. Di samping itu, KVM memberikan fleksibilitas penuh untuk membuat swap file maupun swap partition untuk meningkatkan kapasitas memori virtual ketika RAM fisik penuh. Sehingga server tetap stabil meskipun sedang dalam kondisi peak traffic atau sibuk.

Sedangkan untuk Virtualisasi berbasis Container seperti OpenVZ, pengguna tidak diizinkan untuk mengatur Swap memory sendiri secara bebas. Meskipun OpenVZ menggunakan kernel host dan sebenarnya memungkinkan swap memory. Itu karena OpenVZ adalah teknologi virtualisasi di tingkat sistem operasi yang memungkinkan server fisik (host) untuk menjalankan beberapa lingkungan VPS Linux yang disebut container atau juga dikenal sebagai VE.

RAM dan Swap memory biasanya lebih sering diatur oleh provider penyedia VPS dan tidak se-fleksibel seperti KVM. Saat ini sudah sangat jarang ditemukan provider VPS yang menggunakan virtualisasi berbasis OpenVZ. Bahkan 15 Tahun yang lalu saat masih banyak beredar VPS OpenVZ, penulis sendiri menemukan sangat jarang provider VPS yang mengatur VPS mereka dengan alokasi Swap memory pada VPS berjenis OpenVZ.

Di sistem Linux modern saat ini justru sangat direkomendasikan untuk menggunakan swap file karena lebih mudah dibuat, diubah ukurannya dan mudah dihapus pada sistem yang sedang berjalan tanpa perlu repot melakukan partisi ulang disk. Adapun untuk membuat Swap memory di Linux sangat lah mudah, tetapi Anda wajib familiar terlebih dahulu dengan Terminal dan command-line interface (CLI) di Linux.

PREREQUISITES:
  • Virtual Machine (VPS) dengan OS Linux
  • Hak Akses Root Penuh (sudo privileges)
  • Familiar dengan Linux Command-line Interface (CLI)
  • Bisa mengoperasikan Terminal, Powershell maupun PuTTy

Saat ini ada dua metode untuk membuat Swap memory di sistem operasi Linux modern, yang pertama adalah Metode Modern dan Tercepat dengan command “fallocate”, dan yang kedua adalah Metode Klasik dengan perintah “dd” yang sudah ada sejak beberapa tahun yang lalu.

A. Metode Modern dan Tercepat

Jika Anda menggunakan sistem operasi Linux dengan format file system EXT4 (Fourth Extended File System) seperti di Ubuntu 24.04 LTS maupun Debian 13, saya rekomendasikan untuk menggunakan command “fallocate” dibandingkan “dd” karena ini jauh lebih cepat, efisien, aman, tidak ter-fragmentasi dan 100% kompatibel untuk swapfile pada file system EXT4.

Namun, Jika OS Anda berjalan di atas file system Linux modern dan yang lebih baru seperti BTRFS (B-Tree File System) maupun XFS (X File System), Anda bisa menggunakan command “dd” karena fallocate kadang menghasilkan file yang tidak bisa dijadikan swap memory (harus non-sparse).

1. Jalankan command fallocate untuk menulis swapfile sebesar 2GB

$ sudo fallocate -l 2G /swapfile

2. Atur file permission 600 ke swapfile tersebut

$ sudo chmod 600 /swapfile

3. Buat dan siapkan swap space

$ sudo mkswap /swapfile

4. Aktifkan swapfile

$ sudo swapon /swapfile

5. Tambahkan aturan ke fstab agar Swap memory bekerja mulai sejak proses boot

$ echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

6. Terakhir Tuning swappiness agar lebih RAM-friendly

$ sysctl vm.swappiness=35
$ echo 'vm.swappiness=35' | tee -a /etc/sysctl.conf
Swap Memory di Ubuntu 24.04 LTS dengan CyberPanel
Swap Memory di Ubuntu 24.04 LTS dengan CyberPanel
B. Metode Klasik Menggunakan Command “dd”

Kelebihan Metode dd

  • Bekerja di semua filesystem Linux (EXT4, XFS, BTRFS, EXT3/EXT2 “Legacy”, ZFS, FAT32/exFAT), dan termasuk yang tidak support fallocate.
  • Sangat aman dan stabil.
  • Tidak mem-fragment file (swapfile berisi nol penuh).

Kekurangan Metode dd dibanding fallocate

  • Sangat lambat (contoh membuat swap file 8GB bisa memakan waktu 15–60 detik atau bahkan lebih tergantung performa hardware VM Anda).
  • Menulis file 8GB secara penuh ke disk akan menambah write wear pada storage SSD.
  • Tidak efisien jika hanya untuk membuat swap memory kecil.

1. Cek Swap Space di sistem Anda via Terminal

$ swapon -s

2. Kemudian Cek File System

$ df

3. Jalankan command “dd” untuk menulis swapfile sebesar 2GB

$ sudo dd if=/dev/zero of=/swapfile bs=1024 count=2048k

Catatan: ganti nilai 2048k pada command di atas jika Anda ingin membuat swapfile dengan ukuran lebih besar. Misalnya 4096k untuk swapfile 4GB, 8192k untuk swap 8GB, dan seterusnya.

4. Buat dan Siapkan Swap Space

$ sudo mkswap /swapfile

5. Aktifkan Swap File

$ sudo swapon /swapfile

6. Tampilkan daftar swap yang aktif di sistem Linux Anda

$ swapon -s

7. Tambahkan aturan ke file /etc/fstab agar swapfile bekerja sejak booting

$ nano /etc/fstab

Kemudian copy paste aturan berikut ke fstab:

/swapfile swap swap defaults 0 0

8. Atur User Ownerships root ke swapfile

$ chown root:root /swapfile

9. Set File Permissions yang Tepat ke swapfile

$ chmod 0600 /swapfile

10. Atur Variabel Swappiness

$ cat /proc/sys/vm/swappiness
$ sysctl vm.swappiness=35

11. Tuning Swap via sysctl.conf dan tambahkan aturan berikut ini:

$ nano /etc/sysctl.conf
vm.swappiness = 35
vm.vfs_cache_pressure = 50
vm.dirty_ratio = 15
vm.dirty_background_ratio = 5

 

KESIMPULAN

Membuat Swap Memory di Linux sangatlah mudah, asalkan Anda sudah paham dengan baris perintah di sistem operasi ini. Pastikan untuk selalu menggunakan Swap sebagai memory virtual tambahan jika Anda memiliki Virtual Machine atau VPS server dengan RAM yang terbatas, agar sistem Anda tetap stabil, aman dan tidak crash ketika kehabisan RAM.

LEAVE A REPLY

Please enter your comment!
Please enter your name here