Memahami Swap Memory di Linux dan Cara Konfigurasinya

5 menit untuk membaca
Konfigurasi Swap Memory di Linux

Salah satu kekuatan dari komputer atau server terletak dari besaran RAM (Random Access Memory) yang di miliki. RAM adalah jenis memori komputer yang digunakan untuk menyimpan data yang sedang digunakan oleh sistem operasi dan aplikasi yang sedang berjalan. RAM merupakan jenis memori yang bersifat volatile, yang berarti data yang disimpan di dalamnya akan hilang ketika komputer dimatikan.

Berbeda dengan hard disk yang bisa menyimpan data walaupun komputer sudah di matikan. Namun kecepatan akses RAM lebih besar daripada hardisk, itulah yang menyebabkan harga sewa server atau VPS menjadi lebih mahal untuk RAM lebih besar.

Fungsi utama RAM adalah untuk menyimpan data yang sedang digunakan oleh sistem operasi dan aplikasi yang sedang berjalan, sehingga sistem operasi dapat mengakses data tersebut dengan cepat. Jika sistem operasi atau aplikasi membutuhkan data yang tidak tersimpan di RAM, maka data tersebut harus diambil dari hard disk, yang prosesnya jauh lebih lambat dibandingkan dengan mengakses data di RAM.

Oleh karena itu, RAM sangat penting bagi performa sistem komputer. Semakin banyak RAM yang tersedia, semakin banyak data yang dapat disimpan di RAM, sehingga sistem operasi dan aplikasi dapat bekerja lebih cepat. Ini terjadi karena tidak ada proses antrian (bottleneck) pada RAM tersebut.

Namun, tentu saja RAM yang lebih besar membutuhkan biaya lebih yang harus di keluarkan. Jika anda ingin menghemat biaya dengan RAM kecil namun performa cukup memadai solusinya adalah melakukan tweaking dengan menambahkan Swap memory atau sering di sebut dengan virtual memory.

Apa itu Swap Memory?

Swap memory adalah sebuah area di hard disk yang digunakan sebagai pengganti RAM ketika kapasitas RAM sudah penuh. Swap memory digunakan oleh sistem operasi untuk menyimpan data yang tidak digunakan saat ini, sehingga RAM dapat digunakan untuk menjalankan aplikasi yang sedang dijalankan.

Namun, seperti di jelaskan sebelumnya bahwa kecepatan baca dan tulis RAM jauh diatas kecepatan hard disk, sehingga performance dari Swap memory ini tidak bisa menyamain performance RAM yang sebenarnya (phisical RAM).

Untuk mengelola swap memory, sistem operasi menggunakan algoritma paging yang memungkinkan data yang tidak digunakan saat ini untuk dipindahkan ke swap, sehingga RAM dapat digunakan untuk menjalankan aplikasi yang sedang dijalankan. Algoritma paging ini bekerja dengan membagi data yang tidak digunakan saat ini menjadi blok-blok kecil yang disebut page, kemudian menyimpan page tersebut ke dalam swap.

Algoritma Paging pada Sistem Swap
Algoritma Paging pada Sistem Swap. Sumber : gcallah.github.com

Ketika sistem operasi membutuhkan data yang tersimpan di swap, ia akan membaca page tersebut kembali ke RAM sehingga dapat digunakan oleh aplikasi yang sedang dijalankan.

Namun perlu diingat, penggunaan swap dapat menurunkan performa sistem karena hard disk lebih lambat dibandingkan dengan RAM. Oleh karena itu, sistem operasi akan mencoba untuk menggunakan RAM sebanyak mungkin dan hanya menggunakan swap ketika RAM benar-benar penuh.

Selain itu, penggunaan Swap memory ini bisa mengganggu kinerja hardisk, karena kapasitas untuk kecepatan baca tulis akan digunakan oleh Swap Memory. Oleh karena itu penggunaan Swap memory harus di sesuaikan dengan kebutuhan aplikasi yang akan di jalankan.

Keuntungan menggunakan Swap Memory

Berikut adalah beberapa keuntungan yang dapat Anda dapatkan dengan menggunakan swap memory di Linux:

  1. Meningkatkan performa sistem: Dengan menggunakan swap memory, sistem operasi dapat mengelola memori dengan lebih efisien dan mencegah crash aplikasi karena kekurangan memori. Ini akan meningkatkan performa sistem secara keseluruhan.
  2. Meningkatkan kemampuan multitasking: Swap memory memungkinkan berbagai aplikasi untuk berjalan pada saat yang bersamaan. Ini memungkinkan pengguna untuk menjalankan berbagai aplikasi seperti browser web, aplikasi pemutar media, editor teks, dan lainnya secara bersamaan tanpa penurunan performa.
  3. Memungkinkan penggunaan sistem dengan RAM yang terbatas: Swap memory sangat berguna bagi sistem yang memiliki kapasitas RAM yang terbatas. Dengan menggunakan swap memory, anda seperti memiliki RAM tambahan, namun dalam bentuk virtual.
  4. Meningkatkan stabilitas sistem: Swap memory dapat memberikan stabilitas tambahan pada sistem yang mengalami penggunaan memori yang berlebihan. Ini memungkinkan sistem untuk menghindari masalah seperti kernel panic dan bluescreen.
  5. Meningkatkan kemampuan komputasi: Swap memory memungkinkan pengguna untuk menambahkan lebih banyak memori utama ke sistem sehingga meningkatkan kemampuan komputasi sistem. Ini dapat membantu sistem untuk menangani berbagai tugas yang lebih berat.

Kekurangan Menggunakan Swap Memory

Meskipun swap memory bermanfaat dalam meningkatkan performa sistem dan memungkinkan penggunaan aplikasi yang lebih banyak, terdapat beberapa kekurangan yang harus diperhatikan dalam menggunakan swap memory di Linux:

  1. Penurunan performa: Penggunaan swap memory dapat menurunkan performa sistem karena hard disk lebih lambat dibandingkan dengan RAM. Jika sistem operasi terlalu sering menggunakan swap, maka performa sistem akan terasa lebih lambat.
  2. Penggunaan ruang hard disk: Swap memory menggunakan ruang hard disk untuk menyimpan data, sehingga akan mengurangi ruang tersedia di hard disk. Jika Anda memiliki kapasitas hard disk yang terbatas, maka penggunaan swap memory dapat menjadi masalah.
  3. Kekurangan swap memory: Jika sistem operasi terlalu sering menggunakan swap, maka swap memory yang tersedia mungkin akan habis. Ini akan menyebabkan sistem operasi mengalami crash atau membekukan karena kekurangan memori.

Oleh karena itu, perlu diperhatikan kekurangan dari swap memory di Linux sebelum menggunakannya pada sistem operasi.

Berapa besaran Swap yang di Rekomendasikan?

Besaran rekomendasi swap yang sesuai untuk tergantung pada kebutuhan dan penggunaan aplikasi yang akan dijalankan di sistem. Namun, secara umum, besaran swap yang disarankan adalah sekitar 1,5 sampai 2 kali dari ukuran RAM. Jadi, misalnya server anda menggunakan RAM 1 GB, besaran swap yang disarankan adalah sekitar 1,5-2 GB.

Konfigurasi Swap Memory di Linux

Untuk mengkonfigurasi Swap Memory di linux cukup mudah, kita hanya perlu mengetikan beberapa perintah tanpa harus menginstall apapun. Saat artikel ini ditulis, kami mengujicoba pada sistem operasi Ubuntu 20.04 dan Centos 8 64 Bit dengan RAM 1 GB.

Ikuti langkah berikut untuk mengkonfigurasi Swap dengan kapasitas 2GB.

Langkah #1: Buat Partisi Swap

Buat partisi Swap dan alokasikan 2GB pada partisi tersebut, gunakan perintah di bawah untuk membuat partisi swap dengan nama /swapfile.

sudo fallocate -l 2G /swapfile

Langkah #2: Atur Hak Akses

Atur hak akses file swap tersebut sehingga hanya bisa di baca dan ditulis oleh user root.

sudo chmod 600 /swapfile

Langkah #3: Format File menjadi Swap

Format file /swapfile tadi menjadi file type Swap dengan perintah berikut;

sudo mkswap /swapfile

Langkah #4: Aktifkan Swap

Aktifkan file /swapfile tersebut agar biasa di baca sebagai Swap memory oleh sistem operasi dengan perintah berikut;

sudo swapon /swapfile

Langkah #5: Konfigurasi Boot

Tambahkan file swap tersebut agar bisa selalu diaktifkan saat booting dengan menambahkan baris pada file /etc/fstab.

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

Langkah #6: Atur penggunaan Swap

Selanjutnya atur bagaimana sistem operasi harus menggunakan Swap di sysctl dengan perintah berikut;

sudo sysctl vm.swappiness=10

Angka 10 menandakan bahwa sistem operasi akan cenderung menggunakan RAM daripada swap kecuali RAM benar-benar penuh.

馃挕
Swappiness adalah sebuah parameter sistem pada Linux yang menentukan seberapa sering sistem operasi menggunakan swap memory. Nilai swappiness berkisar antara 0 sampai 100, dimana nilai 0 menunjukkan bahwa sistem operasi hampir tidak pernah menggunakan swap, sedangkan nilai 100 menunjukkan bahwa sistem operasi selalu menggunakan swap setiap kali memori RAM tersedia.

Selesai, sekarang sistem linux anda sudah memiliki Swap memory sebesar 2GB, untuk memverifikasi apakah Swap sudah terbaca atau belum, gunakan perintah berikut;

swapon --show

Jika outpunya menampilkan file Swap yang sudah dibuat, berarti konfigurasi Swap sudah berhasil.

NAME      TYPE SIZE   USED PRIO
/swapfile file   2G 242.4M   -2

Kita juga bisa melihat penggunaan swap dengan perintah free -m. Outputnya kira-kira seperti di bawah ini.

              total        used        free      shared  buff/cache   available
Mem:            976         618          85          42         272         160
Swap:          2047         242        1805

Kesimpulan

Sekarang anda sudah memahami konsep Swap memory pada sistem operasi Linux berikut cara konfigurasinya. Dari pembahasan diatas kita bisa menarik kesimpulan bahwa Swap memory diperlukan untuk mempercepat performa server untuk kondisi-kondisi tertentu. Namun, tetap kita harus menyesuaikan situasi kapan harus menggunakan Swap, dan kapan tidak perlu menggunakan Swap.

Cara kofigurasinya juga terbilang cukup mudah, tanpa harus menginstall aplikasi tambahan. Dengan artikel ini kami berharap anda bisa memahami lebih dalam tentang konsep Swap dan cara konfigurasinya agar sesuai dengan kebutuhan aplikasi yang akan di gunakan pada server.

Semoga artikel ini membantu.