Melepaskan Memori Tersebar dari VPS
Categories:
Sistem Linux secara default menyediakan sebagian memori untuk kdump, ukuran memori ini dapat diatur melalui parameter crashkernel. Kebanyakan pengembang aplikasi umumnya tidak memicu kegagalan kernel, memori ini dapat dilepaskan dengan memodifikasi file /etc/default/grub.
Jika kdump tidak diperlukan, parameter crashkernel dapat diatur menjadi 0M-1G:0M,1G-4G:0M,4G-128G:0M,128G-:512M, sehingga memori dapat dilepaskan.
Cara melihat: cat /etc/default/grub
Nilai default seperti di bawah ini:
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"
Penjelasan parameter crashkernel artinya: host dengan memori 0-1G menyediakan 0M memori, host dengan memori 1-4G menyediakan 192M memori, host dengan memori 4-128G menyediakan 384M memori, host dengan memori 128G ke atas menyediakan 512M memori.
Host dengan memori 1G akan masuk ke kategori 1-4G, menyediakan 192MB memori untuk kdump. Host dengan memori 4G akan masuk ke kategori 4-128G, menyediakan 384MB memori untuk kdump.
Cara modifikasi: 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
Restart agar perubahan berlaku: sudo update-grub && sudo reboot
Sebagai contoh, untuk VPS 2C1G yang umum digunakan oleh pemula, ruang memori sebelum dan sesudah modifikasi seperti di bawah ini. Dapat dilihat perbedaan antara 366MB dan 562MB cukup signifikan.
# Sebelum modifikasi
root@iZj6c0otki9ho421eewyczZ:~# free
total used free shared buff/cache available
Mem: 707180 340772 123400 2624 358872 366408
Swap: 0 0 0
# Setelah modifikasi
root@iZj6c0otki9ho421eewyczZ:~# free
total used free shared buff/cache available
Mem: 903788 341656 451380 2616 251032 562132
Swap: 0 0 0
Ruang memori VPS 2C4G sebelum dan sesudah modifikasi seperti di bawah ini, 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
# Setelah modifikasi
root@iZj6c1prxn78ilvd2inku1Z:~# free
total used free shared buff/cache available
Mem: 3905912 374468 3408304 1252 270508 3531444
Swap: 0 0 0
Informasi lebih lanjut tentang kdump
Kdump adalah mekanisme dump crash kernel, digunakan untuk menangkap status memori sistem saat kernel Linux crash. Ini berbasis teknologi kexec, yang memungkinkan sebuah kernel Linux menjalankan kernel Linux lain tanpa melalui proses inisialisasi BIOS, sehingga sistem dapat dengan cepat melakukan boot ke kernel baru (disebut juga kernel capture atau crashkernel) setelah crash.
Ketika sistem mengalami error fatal dan memicu kernel panic, kernel yang sedang berjalan (disebut juga kernel utama) akan menggunakan kexec untuk memuat kernel capture yang telah disiapkan sebelumnya, dan menyimpan konten memori sistem ke lokasi tertentu, seperti partisi tertentu di disk atau mengirim melalui jaringan ke mesin lain. File citra memori yang disimpan (vmcore atau file kdump) dapat digunakan untuk analisis pasca kejadian, membantu pengembang atau administrator sistem menemukan penyebab crash.
Untuk mengaktifkan fungsi kdump, biasanya diperlukan untuk mengalokasikan sebagian memori ke kernel capture dalam konfigurasi boot sistem, sehingga meskipun kernel utama crash, bagian memori ini tetap tidak terpengaruh, memastikan kernel capture dapat bekerja dengan normal dan menyelesaikan tugas dump memori. Konfigurasi dan penggunaan kdump biasanya melibatkan modifikasi pengaturan boot loader, penyesuaian parameter kernel, serta pengaturan lokasi penyimpanan yang sesuai untuk file vmcore.