Tentang swap

Swap (memory swap) adalah area di luar memori utama (mis: di harddisk atau di media seperti USB flash disk, dll) yang digunakan oleh OS untuk memperbesar kapasitas memori virtual (memori total), sehingga kita dapat menjalankan lebih banyak program/proses dalam waktu bersamaan, dan [sebagian] memori yang dipakai program-program yang sedang tidak dipakai dapat ditukar-tukar dulu tempatnya di swap.

Swap raw partition vs swap file

Di Unix/Linux, untuk swap kita dapat memilih menggunakan partisi raw (yaitu partisi yang tidak diberi filesystem, dan langsung digunakan untuk swap area) atau juga file biasa (yang berada di atas filesystem).

Keuntungan menggunakan partisi mentah (raw partition) untuk swap:

  • kecepatan yang lebih tinggi, karena overhead yang lebih rendah (tidak melalui filesystem). Namun saat ini untuk mayoritas kasus, perbedaan kecepatan ini tidaklah signifikan atau bahkan tidak relevan. Overhead filesystem ini tertutupi oleh kecepatan prosesor dan tetap lambatnya kecepatan relatif disk.

Keuntungan menggunakan file swap:

  • fleksibilitas, kita dapat mengubah-ubah ukuran file dengan lebih mudah. Jika sedang ‘seret’ ruang disk, kita dapat menghapus dulu file swap dan memakai ruang disk untuk keperluan lain.

Bias: Penulis artikel sendiri cenderung lebih menyukai file swap, karena fleksibilitasnya.

Besar swap

Rule of thumb: Untuk mesin dengan RAM 1GB atau kurang, gunakan 2 x ukuran RAM. Misalnya RAM 512MB maka gunakan sekitar 1GB untuk swap. Untuk mesin dengan RAM 2GB ke atas, gunakan 1 x ukuran RAM. Contoh jika RAM 4GB maka buatlah swap sekitar 4GB juga.

Catatan: aturan ini tidak mutlak dan bergantung kebutuhan. Jika Anda tidak membutuhkan swap sama sekali, bisa saja tidak usah membuat/mengaktifkan swap area.

Membuat file swap

Misalkan kita ingin membuat file swap bernama /swapfile sebesar 2GB (= 2048MB):

# dd if=/dev/zero of=/swapfile bs=1M count=2048
# mkswap /swapfile

Setelah ini, setiap kali ingin menggunakan swap ini:

# swapon /swapfile

Ceklah dengan perintah free, maka swap memory Anda akan bertambah 2GB.

Jika sudah tidak membutuhkan file swap ini, bisa dinonaktifkan dengan:

# swapoff /swapfile

Perintah free akan melaporkan swap berkurang kembali 2GB.

Mengaktifkan file swap secara otomatis waktu boot

Taruhlah baris berikut di /etc/fstab:

/swapfile none swap 0 0

Di mana /swapfile adalah path file swap Anda.

Tip

  • Jika ingin memilih menggunakan file swap dan raw partition, maka saat instalasi OS tidak perlu membuat raw partition. Bagilah, misalnya, harddisk Anda menjadi 1 partisi besar saja.
  • Untuk mengatur seberapa suka/kecenderungan Linux menggunakan swap bisa dengan mengeset /proc/sys/vm/swappiness. Mohon rujuk artikel lain untuk detilnya.
  • Di Linux Anda dapat menggunakan beberapa area swap dan mencampur-campur antara file maupun raw partition.
  • Untuk melihat swap area(s) mana saja yang sedang aktif di Linux, gunakan perintah cat /proc/swaps.
  • Untuk mengenkripsi swap area, bisa digunakan dm-crypt atau Bestcrypt. Pembahasan detilnya di luar cakupan artikel ini.