Membebaskan Memori yang Dialokasikan untuk VPS
Categories:
Sistem Linux secara default menyisihkan sebagian memori untuk kdump. Ukuran memori ini dapat diatur melalui parameter crashkernel. Karena banyak pengembang aplikasi yang biasanya tidak memicu kernel crash, Anda dapat membebaskan memori tersebut dengan mengubah file /etc/default/grub.
Jika Anda tidak membutuhkan kdump, Anda dapat mengatur parameter crashkernel menjadi 0M-1G:0M,1G-4G:0M,4G-128G:0M,128G-:512M, sehingga dapat membebaskan sebagian memori.
Cara melihat: cat /etc/default/grub
Nilai default berikut:
GRUB_CMDLINE_LINUX=" vga=792 console=tty0 console=ttyS0,115200n8 net.ifnames=0 noibrs nvme_core.io_timeout=4294967295 nvme_core.admin_timeout=4294967295 iommu=pt crashkernel=0M-1G:0M,1G-4G:192M,4G-128G:384M,128G-:512M crash_kexec_post_notifiers=1"
Berikut adalah penjelasan tentang arti dari field crashkernel: host dengan memori 0-1G menyisihkan 0M memori, host dengan memori 1-4G menyisihkan 192M memori, host dengan memori 4-128G menyisihkan 384M memori, host dengan memori di atas 128G menyisihkan 512M memori.
Host dengan memori 1G akan dikategorikan ke dalam kisaran 1-4G, menyisihkan 192MB memori untuk kdump. Host dengan memori 4G akan dikategorikan ke dalam kisaran 4-128G, menyisihkan 384MB memori untuk kdump.
Cara mengubah: sudo sed -i 's/crashkernel=0M-1G:0M,1G-4G:192M,4G-128G:384M,128G-:512M/crashkernel=0M-1G:0M,1G-4G:0M,4G-128G:0M,128G-:512M/' /etc/default/grub
Berlaku setelah reboot: sudo update-grub && sudo reboot
Mengambil contoh VPS 2C1G yang biasanya digunakan untuk belajar pemula, berikut adalah ruang memori sebelum dan sesudah modifikasi pada sistem yang bersih, dapat melihat perbedaan antara 366MB dan 562MB yang cukup besar.
# Sebelum modifikasi
root@iZj6c0otki9ho421eewyczZ:~# free
total used free shared buff/cache available
Mem: 707180 340772 123400 2624 358872 366408
Swap: 0 0 0
# Sesudah modifikasi
root@iZj6c0otki9ho421eewyczZ:~# free
total used free shared buff/cache available
Mem: 903788 341656 451380 2616 251032 562132
Swap: 0 0 0
Berikut adalah ruang memori sebelum dan sesudah modifikasi pada VPS 2C4G, perbedaan antara 3.1GB dan 3.5GB.
# Sebelum modifikasi
root@iZj6c1prxn78ilvd2inku1Z:~# free
total used free shared buff/cache available
Mem: 3512696 377672 2870944 1260 415116 3135024
Swap: 0 0 0
# Sesudah modifikasi
root@iZj6c1prxn78ilvd2inku1Z:~# free
total used free shared buff/cache available
Mem: 3905912 374468 3408304 1252 270508 3531444
Swap: 0 0 0
Lebih Lanjut tentang Kdump
Kdump adalah mekanisme dump kernel crash yang digunakan untuk menangkap status memori sistem saat kernel Linux crash. Berdasarkan teknologi kexec, kexec memungkinkan satu kernel Linux untuk memulai kernel lainnya tanpa melalui proses inisialisasi BIOS, yang memungkinkan sistem dengan cepat booting ke kernel baru (juga disebut kernel penangkap atau crashkernel) setelah crash.
Karena sistem mengalami kesalahan fatal dan memicu kernel panic, kernel yang sedang berjalan (juga disebut kernel utama) akan menggunakan kexec untuk memuat kernel penangkap yang telah disiapkan sebelumnya, dan menyimpan isi memori sistem ke lokasi yang ditentukan, seperti partisi tertentu pada disk atau dikirim ke mesin lain melalui jaringan. Berkas citra memori yang disimpan (berkas vmcore atau kdump) dapat digunakan untuk analisis pasca-insiden, membantu pengembang atau administrator sistem menemukan penyebab crash.
Untuk mengaktifkan fungsi kdump, biasanya perlu menyisihkan sebagian memori untuk kernel penangkap dalam konfigurasi boot sistem, sehingga bahkan jika kernel utama crash, bagian memori ini tetap tidak terpengaruh, menjamin kernel penangkap dapat bekerja normal dan menyelesaikan tugas dump memori. Konfigurasi dan penggunaan kdump biasanya melibatkan modifikasi pengaturan boot loader, penyesuaian parameter kernel, serta penentuan lokasi penyimpanan yang tepat untuk menyimpan berkas vmcore.