Salah satu cara termudah untuk meningkatkan peforma server Anda dan menjaga agar tidak terjadi kesalahan memori di luar aplikasi adalah menambahkan beberapa ruang swap. Dalam panduan ini, kita akan membahas bagaimana menambahkan file swap ke server Ubuntu 16.04.
Apa itu Swap?
Swap adalah area pada hard drive yang telah ditetapkan sebagai tempat dimana sistem operasi dapat menyimpan data sementara yang tidak dapat lagi ditahan di RAM. Pada dasarnya, ini memberi Anda kemampuan untuk meningkatkan jumlah informasi yang dapat disimpan oleh server Anda dalam "memori" kerjanya. Ruang swap pada hard drive akan digunakan bila tidak ada lagi ruang yang cukup dalam RAM untuk menyimpan data aplikasi dalam penggunaan.
Informasi yang ditulis ke disk akan jauh lebih lambat daripada informasi yang tersimpan dalam RAM, namun sistem operasi akan memilih untuk terus menjalankan data aplikasi di memori dan menggunakan swap untuk data yang lebih lama.
Periksa Sistem Informasi Swap
Sebelum kita mulai, kita bisa mengecek apakah sistem sudah memiliki beberapa ruang swap yang tersedia. Hal ini dimungkinkan untuk memiliki beberapa file swap atau partisi swap, namun umumnya seharusnya sudah cukup.
Kita bisa melihat apakah sistem memiliki konfigurasi swap dengan mengetikkan:
sudo swapon --show
Jika Anda tidak mendapatkan hasil apapun pada output, ini berarti sistem Anda tidak memiliki ruang swap yang tersedia saat ini.
Anda dapat memverifikasi bahwa tidak ada swap aktif melakukan perintah berikut:
free -h
Output
total used free shared buff/cache available
Mem: 488M 36M 104M 652K 348M 426M
Swap: 0B 0B 0B
Seperti yang bisa Anda lihat di baris "Swap" dari output, tidak ada swap yang aktif pada sistem.
Periksa Ruang yang Tersedia di Partisi Hard Drive
Cara yang paling umum untuk mengalokasikan ruang untuk swap adalah dengan menggunakan partisi terpisah yang ditujukan untuk tugas itu. Namun, mengubah skema partisi tidak selalu memungkinkan. Kita bisa dengan mudah membuat file swap yang berada pada partisi yang ada.
Sebelum melakukan ini, kita harus memeriksa penggunaan disk saat ini dengan mengetikkan:
df -h
Output
Filesystem Size Used Avail Use% Mounted on
udev 238M 0 238M 0% /dev
tmpfs 49M 624K 49M 2% /run
/dev/vda1 20G 1.1G 18G 6% /
tmpfs 245M 0 245M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 245M 0 245M 0% /sys/fs/cgroup
tmpfs 49M 0 49M 0% /run/user/1001
Perangkat di dalam /dev adalah disk yang nanti akan kita jadikan tempat swap di dalamnya. Kita memiliki banyak ruang yang tersedia dalam contoh ini (hanya 1.1G yang digunakan). Penggunaan Anda mungkin akan berbeda.
Meskipun ada banyak pendapat tentang ukuran ruang swap yang sesuai, itu sangat tergantung pada preferensi pribadi dan persyaratan aplikasi Anda. Umumnya, jumlah yang sama atau dua kali lipat jumlah RAM pada sistem Anda merupakan titik awal yang baik. Aturan bagus lainnya adalah bahwa segala sesuatu di atas 4G swap mungkin tidak perlu jika Anda hanya menggunakannya sebagai fallback RAM.
Buat File Swap
Sekarang kita tahu ruang harddisk yang ada, kita bisa membuat file swap di dalam filesystem kita. Kita akan membuat file dari ukuran swap yang kita inginkan disebut swapfile di root kita (/) directory.
Cara terbaik untuk membuat file swap adalah dengan program fallocate. Perintah ini membuat file dengan ukuran preallocated seketika.
Karena server di contoh kita memiliki RAM 512MB, kita akan membuat file 1 Gigabyte dalam panduan ini. Sesuaikan ini untuk memenuhi kebutuhan server Anda sendiri:
sudo fallocate -l 1G /swapfile
Kita dapat memverifikasi jumlah ruang yang baru saja dibuat dengan mengetik:
ls -lh /swapfile
output
-rw-r--r-- 1 root root 1.0G Apr 25 11:14 /swapfile
Mengaktifkan File Swap
Sekarang kita memiliki file dengan ukuran yang benar, kita perlu mengubahnya menjadi ruang swap.
Pertama, kita perlu mengunci hak akses file sehingga hanya pengguna dengan hak root yang bisa membaca isinya. Hal ini mencegah pengguna normal untuk dapat mengakses file, yang memiliki implikasi keamanan yang signifikan.
Buat file hanya bisa diakses dengan root dengan mengetikkan:
sudo chmod 600 /swapfile
Verifikasi file permission:
ls -lh /swapfile
Output
-rw------- 1 root root 1.0G Apr 25 11:14 /swapfile
Seperti yang kita lihat, hanyauser root yang memilik akses baca dan tulis.
Kita sekarang bisa menandai file tersebut sebagai ruang swap dengan mengetikkan:
sudo mkswap /swapfile
Output
Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)
no label, UUID=6e965805-2ab9-450f-aed6-577e74089dbf
Setelah menandai file, kita dapat mengaktifkan file swap, yang memungkinkan sistem kita untuk mulai menggunakannya:
sudo swapon /swapfile
Kita dapat memverifikasi bahwa swap tersedia dengan mengetik:
sudo swapon --show
Output
NAME TYPE SIZE USED PRIO
/swapfile file 1024M 0B -1
Kita dapat memeriksa output dari utilitas bebas lagi untuk menguatkan temuan kami:
free -h
Output
total used free shared buff/cache available
Mem: 488M 37M 96M 652K 354M 425M
Swap: 1.0G 0B 1.0G
Swap kami telah berhasil dibuat dan sistem operasi kami akan mulai menggunakannya jika diperlukan.
Buat File Swap Permanen
Perubahan terakhir kami telah mengaktifkan file swap untuk sesi saat ini. Namun, jika kita reboot, server tidak akan mempertahankan pengaturan swap secara otomatis. Kita bisa mengubahnya dengan menambahkan file swap ke file /etc/fstab kita.
Cadangkan file /etc/fstab jika ada yang tidak beres:
sudo cp /etc/fstab /etc/fstab.bak
Anda dapat menambahkan informasi file swap ke akhir file /etc/fstab Anda dengan mengetikkan:
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
dan.. selesai...
Apa itu Swap?
Swap adalah area pada hard drive yang telah ditetapkan sebagai tempat dimana sistem operasi dapat menyimpan data sementara yang tidak dapat lagi ditahan di RAM. Pada dasarnya, ini memberi Anda kemampuan untuk meningkatkan jumlah informasi yang dapat disimpan oleh server Anda dalam "memori" kerjanya. Ruang swap pada hard drive akan digunakan bila tidak ada lagi ruang yang cukup dalam RAM untuk menyimpan data aplikasi dalam penggunaan.
Informasi yang ditulis ke disk akan jauh lebih lambat daripada informasi yang tersimpan dalam RAM, namun sistem operasi akan memilih untuk terus menjalankan data aplikasi di memori dan menggunakan swap untuk data yang lebih lama.
Periksa Sistem Informasi Swap
Sebelum kita mulai, kita bisa mengecek apakah sistem sudah memiliki beberapa ruang swap yang tersedia. Hal ini dimungkinkan untuk memiliki beberapa file swap atau partisi swap, namun umumnya seharusnya sudah cukup.
Kita bisa melihat apakah sistem memiliki konfigurasi swap dengan mengetikkan:
sudo swapon --show
Jika Anda tidak mendapatkan hasil apapun pada output, ini berarti sistem Anda tidak memiliki ruang swap yang tersedia saat ini.
Anda dapat memverifikasi bahwa tidak ada swap aktif melakukan perintah berikut:
free -h
Output
total used free shared buff/cache available
Mem: 488M 36M 104M 652K 348M 426M
Swap: 0B 0B 0B
Seperti yang bisa Anda lihat di baris "Swap" dari output, tidak ada swap yang aktif pada sistem.
Periksa Ruang yang Tersedia di Partisi Hard Drive
Cara yang paling umum untuk mengalokasikan ruang untuk swap adalah dengan menggunakan partisi terpisah yang ditujukan untuk tugas itu. Namun, mengubah skema partisi tidak selalu memungkinkan. Kita bisa dengan mudah membuat file swap yang berada pada partisi yang ada.
Sebelum melakukan ini, kita harus memeriksa penggunaan disk saat ini dengan mengetikkan:
df -h
Output
Filesystem Size Used Avail Use% Mounted on
udev 238M 0 238M 0% /dev
tmpfs 49M 624K 49M 2% /run
/dev/vda1 20G 1.1G 18G 6% /
tmpfs 245M 0 245M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 245M 0 245M 0% /sys/fs/cgroup
tmpfs 49M 0 49M 0% /run/user/1001
Perangkat di dalam /dev adalah disk yang nanti akan kita jadikan tempat swap di dalamnya. Kita memiliki banyak ruang yang tersedia dalam contoh ini (hanya 1.1G yang digunakan). Penggunaan Anda mungkin akan berbeda.
Meskipun ada banyak pendapat tentang ukuran ruang swap yang sesuai, itu sangat tergantung pada preferensi pribadi dan persyaratan aplikasi Anda. Umumnya, jumlah yang sama atau dua kali lipat jumlah RAM pada sistem Anda merupakan titik awal yang baik. Aturan bagus lainnya adalah bahwa segala sesuatu di atas 4G swap mungkin tidak perlu jika Anda hanya menggunakannya sebagai fallback RAM.
Buat File Swap
Sekarang kita tahu ruang harddisk yang ada, kita bisa membuat file swap di dalam filesystem kita. Kita akan membuat file dari ukuran swap yang kita inginkan disebut swapfile di root kita (/) directory.
Cara terbaik untuk membuat file swap adalah dengan program fallocate. Perintah ini membuat file dengan ukuran preallocated seketika.
Karena server di contoh kita memiliki RAM 512MB, kita akan membuat file 1 Gigabyte dalam panduan ini. Sesuaikan ini untuk memenuhi kebutuhan server Anda sendiri:
sudo fallocate -l 1G /swapfile
Kita dapat memverifikasi jumlah ruang yang baru saja dibuat dengan mengetik:
ls -lh /swapfile
output
-rw-r--r-- 1 root root 1.0G Apr 25 11:14 /swapfile
Mengaktifkan File Swap
Sekarang kita memiliki file dengan ukuran yang benar, kita perlu mengubahnya menjadi ruang swap.
Pertama, kita perlu mengunci hak akses file sehingga hanya pengguna dengan hak root yang bisa membaca isinya. Hal ini mencegah pengguna normal untuk dapat mengakses file, yang memiliki implikasi keamanan yang signifikan.
Buat file hanya bisa diakses dengan root dengan mengetikkan:
sudo chmod 600 /swapfile
Verifikasi file permission:
ls -lh /swapfile
Output
-rw------- 1 root root 1.0G Apr 25 11:14 /swapfile
Seperti yang kita lihat, hanyauser root yang memilik akses baca dan tulis.
Kita sekarang bisa menandai file tersebut sebagai ruang swap dengan mengetikkan:
sudo mkswap /swapfile
Output
Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)
no label, UUID=6e965805-2ab9-450f-aed6-577e74089dbf
Setelah menandai file, kita dapat mengaktifkan file swap, yang memungkinkan sistem kita untuk mulai menggunakannya:
sudo swapon /swapfile
Kita dapat memverifikasi bahwa swap tersedia dengan mengetik:
sudo swapon --show
Output
NAME TYPE SIZE USED PRIO
/swapfile file 1024M 0B -1
Kita dapat memeriksa output dari utilitas bebas lagi untuk menguatkan temuan kami:
free -h
Output
total used free shared buff/cache available
Mem: 488M 37M 96M 652K 354M 425M
Swap: 1.0G 0B 1.0G
Swap kami telah berhasil dibuat dan sistem operasi kami akan mulai menggunakannya jika diperlukan.
Buat File Swap Permanen
Perubahan terakhir kami telah mengaktifkan file swap untuk sesi saat ini. Namun, jika kita reboot, server tidak akan mempertahankan pengaturan swap secara otomatis. Kita bisa mengubahnya dengan menambahkan file swap ke file /etc/fstab kita.
Cadangkan file /etc/fstab jika ada yang tidak beres:
sudo cp /etc/fstab /etc/fstab.bak
Anda dapat menambahkan informasi file swap ke akhir file /etc/fstab Anda dengan mengetikkan:
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
dan.. selesai...