Cara Membuat Memori Swap di Linux
Untuk membuat file swap di Linux, siapkan file di penyimpanan Anda, inisialisasi dengan mkswap, dan kemudian aktifkan dengan swapon. Swap membantu mengurangi tekanan memori, tetapi lebih lambat daripada RAM dan tidak menyelesaikan semua masalah kekurangan memori atau menjamin operasi normal program.
Apa itu Swap?
Swap adalah ruang yang memungkinkan sebagian halaman memori yang sedang digunakan ditempatkan di penyimpanan. Anda dapat menggunakan file disk atau partisi terpisah. Artikel ini menjelaskan cara menambahkan file, dan 2GiB dalam contoh ini adalah untuk tujuan latihan. Ukuran yang diperlukan harus ditentukan dengan mempertimbangkan RAM, beban kerja, ruang yang tersedia, dan apakah hibernasi digunakan.
Sistem mungkin sudah menggunakan swap. Periksa item yang saat ini diaktifkan dan status memori dengan perintah berikut.
swapon --show
free -h
Periksa nama, ukuran, dan penggunaan di swapon --show, dan lihat total penggunaan di baris Swap dari free -h. Bahkan jika Anda meningkatkan swap, kinerja bisa menurun jika ada akses penyimpanan yang sering. Jika memori terus-menerus tidak cukup, pertimbangkan juga beban kerja dan perluasan RAM.
Hal-hal yang perlu diperiksa sebelum memulai
Prosedur berikut adalah contoh untuk Linux menggunakan alat GNU dan util-linux, di mana sistem file root adalah ext4 yang umum dan memiliki ruang kosong yang cukup. Hak istimewa administrator diperlukan. Kontainer atau server yang dikelola mungkin membatasi aktivasi swap, jadi periksa kebijakan operasi terlebih dahulu.
findmnt -T / -o TARGET,FSTYPE,SOURCE,OPTIONS
df -h /
Periksa tipe sistem file dan ruang yang tersedia. Selain file swap 2 GiB, sisakan cukup ruang kosong untuk operasi normal. Jangan gunakan jalur contoh /swap-manualfactory jika file atau tautan simbolik sudah ada di sana. Menginisialisasi ulang atau menimpa file swap yang ada dapat menyebabkan kehilangan data dan masalah pada sistem yang sedang berjalan.
Btrfs memiliki pembatasan terpisah terkait Copy-on-Write dan snapshot, jadi jangan langsung menerapkan prosedur ext4 di bawah ini. Untuk metode dan kondisi pembuatan khusus Btrfs, periksa dokumentasi file swap Btrfs. Sistem file jaringan atau sistem file lainnya juga mungkin memiliki kondisi dukungan yang berbeda.
Membuat dan Mengaktifkan File Swap
Berikut adalah contoh membuat file 2GiB ketika /swap-manualfactory tidak ada. conv=excl di GNU dd akan gagal jika target sudah ada, mencegah penimpaan. Jika gagal atau terganggu, jangan lanjut ke langkah berikutnya; periksa penyebab dan file yang dihasilkan.
sudo dd if=/dev/zero of=/swap-manualfactory bs=1M count=2048 conv=excl status=progress
Jika perintah berhasil, periksa ukuran dan jalur file, atur sehingga hanya administrator yang dapat membaca dan menulisnya, lalu inisialisasi sebagai area swap. mkswap mengubah file yang ditentukan, jadi pastikan untuk memverifikasi bahwa jalur tersebut adalah file yang baru saja Anda buat.
sudo ls -lh /swap-manualfactory
sudo chmod 600 /swap-manualfactory
sudo mkswap /swap-manualfactory
Hanya lakukan langkah berikutnya jika setiap langkah sebelumnya berhasil. Setelah mengaktifkan dengan perintah di bawah ini, verifikasi bahwa jalur baru muncul dalam daftar.
sudo swapon /swap-manualfactory
swapon --show
free -h
Ukuran file yang ditampilkan mungkin tidak persis sama dengan ukuran file yang dibuat karena header swap dan faktor lainnya. Jika swapon gagal, periksa kesalahannya dan jangan tambahkan ke pengaturan boot. File swap tidak boleh memiliki lubang, dan tergantung pada sistem file, file yang dibuat dengan fallocate mungkin tidak cocok. Manual util-linux swapon menjelaskan batasan untuk setiap sistem file.
Mengaktifkannya setelah boot
Hanya tambahkan item ke /etc/fstab setelah berhasil mengaktifkannya. Karena file ini juga berisi pengaturan mount lainnya, cadangkan sebelum mengedit dan pastikan jalur tidak menggandakan entri swap yang ada. Jika jalur cadangan di bawah ini sudah ada, pilih nama baru yang berbeda.
sudo cp -a -n /etc/fstab /etc/fstab.before-swap
sudo nano /etc/fstab
Pertahankan konten yang ada di editor dan tambahkan baris di bawah, lalu simpan. Jika Anda membuat jalur contoh dengan nama yang berbeda, gunakan jalur yang sebenarnya.
/swap-manualfactory none swap defaults 0 0
Setelah menyimpan, periksa kembali isi file, dan pada sistem yang tersedia, tinjau pengaturan dengan perintah berikut. Pemeriksaan ini tidak menjamin reboot berhasil.
sudo findmnt --verify --verbose
sudo systemctl daemon-reload
daemon-reload menyebabkan sistem yang menggunakan systemd memuat ulang pengaturan yang diubah. Jika ada kesalahan validasi, perbaiki dan pastikan Anda tidak secara tidak sengaja mengubah entri lain. Reboot pada waktu pemeliharaan yang sesuai dan kemudian konfirmasi dengan swapon --show bahwa file telah diaktifkan kembali. Anda juga dapat memeriksa prosedur registrasi dan validasi di Dokumentasi Manajemen Swap Red Hat.
Nonaktifkan dan kembalikan
Sebelum mematikan swap, periksa penggunaan dan memori yang tersedia dengan swapon --show dan free -h. Jika tidak ada cukup ruang untuk memindahkan halaman yang sedang digunakan ke memori atau swap lain, penonaktifan dapat gagal atau membebani sistem. Pada sistem yang sedang beroperasi, lanjutkan setelah memastikan kapasitas yang tersedia dan waktu pemeliharaan.
sudo swapoff /swap-manualfactory
swapon --show
Pastikan item target tidak lagi berada dalam daftar aktif. Untuk mencegahnya diaktifkan kembali saat boot, hanya hapus baris yang ditambahkan oleh operasi ini di /etc/fstab, dan dalam lingkungan systemd, jalankan sudo systemctl daemon-reload. Untuk menghapus file swap, pertama pastikan bahwa penonaktifan berhasil dan baris konfigurasi yang ditambahkan telah dihapus, kemudian hapus hanya file yang Anda buat. Biarkan item swap lain atau pengaturan yang ada tetap sebagaimana adanya.




