Penjelasan Swap
Swap adalah area pada hard drive yang telah ditetapkan sebagai tempat di mana sistem operasi dapat menyimpan sementara data yang tidak dapat lagi disimpan dalam RAM. Pada dasarnya, ini memberi Anda kemampuan untuk meningkatkan jumlah informasi yang dapat disimpan server Anda dalam "memori" yang berfungsi, dengan beberapa peringatan. Ruang swap pada hard drive akan digunakan terutama ketika tidak ada lagi ruang yang cukup dalam RAM untuk menyimpan data aplikasi yang sedang digunakan.
Informasi yang ditulis ke disk akan jauh lebih lambat daripada informasi yang disimpan dalam RAM, tetapi sistem operasi akan lebih memilih untuk tetap menjalankan data aplikasi dalam memori dan menggunakan swap untuk data yang lebih lama. Secara keseluruhan, memiliki ruang swap sebagai cadangan saat RAM sistem Anda habis dapat menjadi jaring pengaman yang baik terhadap pengecualian di luar memori pada sistem dengan penyimpanan non-SSD tersedia.
Memeriksa Sistem untuk Informasi Swap
Sebelum kita mulai, kita dapat memeriksa apakah sistem sudah memiliki beberapa ruang swap yang tersedia. Dimungkinkan untuk memiliki banyak file swap atau partisi swap, tetapi umumnya cukup.
Kita dapat melihat apakah sistem memiliki swap yang dikonfigurasi dengan mengetik:
sudo swapon --show
Jika Anda tidak mendapatkan kembali output apa pun, ini berarti sistem Anda tidak memiliki ruang swap yang tersedia saat ini.
Anda dapat memverifikasi bahwa tidak ada swap aktif menggunakan utilitas gratis:
free -h
Outputnya :
Output
total used free shared buff/cache available
Mem: 985M 84M 222M 680K 678M 721M
Swap: 0B 0B 0B
Memeriksa Ruang yang Tersedia di Partisi Hard Drive
Sebelum membuat file swap, kita periksa penggunaan disk saat ini untuk memastikan kami memiliki cukup ruang. Lakukan ini dengan memasukkan:
df -h
dan Outputnya :
Filesystem Size Used Avail Use% Mounted on
udev 481M 0 481M 0% /dev
tmpfs 99M 656K 98M 1% /run
/dev/vda1 25G 1.4G 23G 6% /
tmpfs 493M 0 493M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 493M 0 493M 0% /sys/fs/cgroup
/dev/vda15 105M 3.4M 102M 4% /boot/efi
tmpfs 99M 0 99M 0% /run/user/1000
Perangkat dengan /
dalam kolom Mounted on
adalah disk kami dalam hal ini. Kami memiliki banyak ruang yang tersedia dalam contoh ini (hanya 1.4G digunakan). Penggunaan Anda mungkin akan berbeda.
Meskipun ada banyak pendapat tentang ukuran ruang swap yang sesuai, itu sangat tergantung pada preferensi pribadi Anda dan persyaratan aplikasi Anda. Secara umum, jumlah yang sama atau dua kali lipat jumlah RAM pada sistem Anda adalah titik awal yang baik. Aturan praktis lain yang baik adalah bahwa apa pun yang melebihi 4G swap mungkin tidak perlu jika Anda hanya menggunakannya sebagai cadangan RAM.
Membuat File Swap
Sekarang kita tahu ruang hard drive yang tersedia, kita dapat membuat file swap pada sistem file kita. Kami akan mengalokasikan file dengan ukuran swap yang kami inginkan bernama swapfile
di direktori root (/) kami.
Cara terbaik untuk membuat file swap adalah dengan program fallocate
. Perintah ini secara instan membuat file dengan ukuran yang ditentukan.
Karena server dalam contoh kita memiliki 1G RAM, kami akan membuat file 1G dalam panduan ini. Sesuaikan ini untuk memenuhi kebutuhan server Anda sendiri:
sudo fallocate -l 1G /swapfile
Kami dapat memverifikasi bahwa jumlah ruang yang benar dicadangkan dengan mengetik:
ls -lh /swapfile
-rw-r--r-- 1 root root 1.0G Apr 25 11:14 /swapfile
File kami telah dibuat dengan jumlah ruang yang disisihkan dengan benar.
Mengaktifkan Swap File
Sekarang kita memiliki file dengan ukuran yang benar tersedia, kita harus benar-benar mengubahnya menjadi ruang swap.
Pertama, kita perlu mengunci izin file sehingga hanya pengguna dengan hak akses root yang dapat membaca konten. Ini mencegah pengguna normal untuk dapat mengakses file, yang akan memiliki implikasi keamanan yang signifikan.
Jadikan file hanya dapat diakses untuk melakukan rooting dengan mengetik:
sudo chmod 600 /swapfile
Verifikasi perubahan izin dengan mengetik:
ls -lh /swapfile
Dan Outputnya :
-rw------- 1 root root 1.0G Apr 25 11:14 /swapfile
Seperti yang Anda lihat, hanya pengguna root yang mengaktifkan tanda baca dan tulis. Kami sekarang dapat menandai file sebagai ruang swap dengan mengetik:
sudo mkswap /swapfile
Outputnya :
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, memungkinkan sistem kami untuk mulai menggunakannya:
sudo swapon /swapfile
Verifikasi bahwa swap tersedia dengan mengetik:
sudo swapon --show
Outputnya :
NAME TYPE SIZE USED PRIO
/swapfile file 1024M 0B -2
Kami dapat memeriksa output dari utilitas free
lagi untuk menguatkan temuan kami:
free -h
dan Outputnya :
Output
total used free shared buff/cache available
Mem: 985M 84M 220M 680K 680M 722M
Swap: 1.0G 0B 1.0G
Swap kami telah berhasil diatur dan sistem operasi kami akan mulai menggunakannya seperlunya.
Membuat File Swap Permanen
Perubahan terbaru kami telah mengaktifkan file swap untuk sesi saat ini. Namun, jika kita reboot, server tidak akan mempertahankan pengaturan swap secara otomatis. Kita dapat mengubah ini dengan menambahkan file swap ke file /etc/fstab
kita.
Cadangkan file /etc/fstab
jika terjadi kesalahan:
sudo cp /etc/fstab /etc/fstab.bak
Tambahkan informasi file swap ke akhir file /etc/fstab
Anda dengan mengetik:
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
Selanjutnya kita akan meninjau beberapa pengaturan yang dapat kita perbarui untuk menyempurnakan ruang swap kita.
Tuning Pengaturan Swap Anda
Ada beberapa opsi yang dapat Anda konfigurasi yang akan berdampak pada kinerja sistem Anda ketika berhadapan dengan swap.
Menyesuaikan Properti Swappiness Parameter swappiness mengkonfigurasi seberapa sering sistem Anda menukar data dari RAM ke ruang swap. Ini adalah nilai antara 0 dan 100 yang mewakili persentase.
Dengan nilai mendekati nol, kernel tidak akan menukar data ke disk kecuali benar-benar diperlukan. Ingat, interaksi dengan file swap "mahal" karena memerlukan waktu lebih lama daripada interaksi dengan RAM dan dapat menyebabkan penurunan kinerja yang signifikan. Memberitahu sistem agar tidak terlalu bergantung pada swap biasanya akan membuat sistem Anda lebih cepat.
Nilai yang mendekati 100 akan mencoba memasukkan lebih banyak data ke swap dalam upaya menjaga ruang RAM lebih banyak. Tergantung pada profil memori aplikasi Anda atau untuk apa Anda menggunakan server Anda, ini mungkin lebih baik dalam beberapa kasus.
Kita dapat melihat nilai swappiness saat ini dengan mengetik:
cat /proc/sys/vm/swappiness
Outputnya :
60
Untuk Desktop, pengaturan swappiness 60 bukan nilai yang buruk. Untuk server, Anda mungkin ingin memindahkannya lebih dekat ke 0.
Kita dapat mengatur swappiness ke nilai yang berbeda dengan menggunakan perintah sysctl
.
Misalnya, untuk mengatur swappiness ke 10, kita bisa mengetik:
sudo sysctl vm.swappiness=10
Outputnya :
Output
vm.swappiness = 10
Pengaturan ini akan bertahan hingga reboot berikutnya. Kita dapat mengatur nilai ini secara otomatis saat restart dengan menambahkan baris ke file /etc/sysctl.conf
kami:
sudo nano /etc/sysctl.conf
Di bagian bawah, Anda dapat menambahkan:
vm.swappiness=10
Simpan dan tutup file ketika Anda selesai.
Menyesuaikan Pengaturan Tekanan Cache
Nilai terkait lainnya yang mungkin ingin Anda ubah adalah vfs_cache_pressure
. Pengaturan ini mengkonfigurasi seberapa banyak sistem akan memilih untuk menyimpan informasi inode dan dentry dari data lain.
Pada dasarnya, ini adalah akses data tentang sistem file. Ini umumnya sangat mahal untuk dicari dan sangat sering diminta, jadi ini adalah hal yang sangat baik bagi sistem Anda untuk melakukan cache. Anda dapat melihat nilai saat ini dengan menanyakan kembali sistem file proc
:
cat /proc/sys/vm/vfs_cache_pressure
Dan Outputnya :
Output
100
Seperti saat ini dikonfigurasi, sistem kami menghapus informasi inode dari cache terlalu cepat. Kita dapat mengatur ini ke pengaturan yang lebih konservatif seperti 50 dengan mengetik:
sudo sysctl vm.vfs_cache_pressure=50
Outputnya :
Output
vm.vfs_cache_pressure = 50
Sekali lagi, ini hanya berlaku untuk sesi kami saat ini. Kami dapat mengubahnya dengan menambahkannya ke file konfigurasi kami seperti yang kami lakukan dengan pengaturan swappiness kami:
sudo nano /etc/sysctl.conf
Di bagian bawah, tambahkan baris yang menentukan nilai baru Anda:
vm.vfs_cache_pressure=50
Simpan dan tutup file ketika Anda selesai.
Gratis Saldo $50 Cloud Server
Harga Cloud Server Cuma $5/bulan, dijamin cepat dan aman
Daftar Sekarang