OOM: KVM di SolusVM Secara Random Stop atau Suspended

Artikel kali ini agak advanced dan berat, mencakup KVM virtualisation. Salah satu KVM kamu di SolusVM secara acak atau random entah kenapa ke Stop atau Suspended. Kemudian di pesan /var/log/messages terlihat pesan error seperti erver kernel: qemu-kvm invoked oom-killer: gfp_mask=0xd0, order=0, oom_score_adj=0.

Untuk lebih detailnya pesan /var/log/messages bisa di lihat seperti berikut ini. Tinggal di grep saja.

server kernel: qemu-kvm invoked oom-killer: gfp_mask=0xd0, order=0, oom_score_adj=0
server kernel: Task in /machine.slice/machine-qemu\x2d291\x2dkvm1309.scope killed as a result of limit of /machine.slice/machine-qemu\x2d291\x2dkvm1309.scope
server kernel: memory: usage 9437184kB, limit 9437184kB, failcnt 155666
server kernel: memory+swap: usage 9621056kB, limit 9007199254740988kB, failcnt 0
server kernel: kmem: usage 0kB, limit 9007199254740988kB, failcnt 0
server kernel: Memory cgroup stats for /machine.slice/machine-qemu\x2d291\x2dkvm1309.scope: cache:20KB rss:9437164KB rss_huge:0KB mapped_file:20KB swap:183872KB inactive_anon:1048736KB active_anon:8388452KB inactive_file:0KB active_file:0KB unevictable:0KB
server kernel: Memory cgroup out of memory: Kill process 67178 (CPU 5/KVM) score 541 or sacrifice child

Hal ini disebabkan karena value untuk parameter hard_limits konfigurasi virtual mesin yang bersangkutan perlu di configure (ditambah).

Solusi

Login ke slave KVM yang bersangkutan berada.

Cek config ini apakah ada /usr/local/solusvm/data/config.ini

Jika tidak ada, kita buat baru.

cp -a /usr/local/solusvm/data/config.ini.example /usr/local/solusvm/data/config.ini

Kemudian set beberapa parameter menjadi seperti di bawah ini.

;; Don't write memtune settings to domains configuration file (true|false)
domain_config_exclude_memtune = false

Kemudian modif sesuai kebutuhan.

;; If memtune hard_limit is used in the domains configuration file set
domain_config_memtune_hard_limit_percent_memory = 120
domain_config_memtune_soft_limit_percent_memory = 120
domain_config_memtune_swap_hard_limit_percent_memory = 125

Value 120 di atas mempunyai arti 120% dari alokasi kvm guest yang bersangkutan.

Untuk kvm yang baru di buat, maka otomatis confignya bakal di apply langsung. Namun untuk existing kvm yang ada tinggal di reboot saja kvm tersebut, otomatis confignya bakal ngikut ke yang baru.

Leave a Reply

Your email address will not be published. Required fields are marked *