Cara Mengatasi Kswapd0 Menggunakan CPU Tinggi di Linux

Cara Mengatasi Kswapd0 Menggunakan CPU Tinggi di Linux

Beberapa hari yang lalu, terdapat kendala yang menyebabkan VPS Ubuntu saya mengalami masalah yang cukup besar, yaitu terdapat proses bernama kswapd0 yang berjalan dan menggunakan CPU sangat tinggi, sehingga hal ini berdampak buruk terhadap proses lain, hingga paling fatal adalah tidak bisa mengakses terminal melalui SSH.

Alasan mengapa Kswapd0 menggunakan CPU 100% adalah karena mengalami masalah pada saat memindahkan suatu proses ke SWAP secara terus-menerus. Dan karena itu berlangsung layaknya loop, maka hal ini berdampak pada lonjakan CPU dan penurunan kinerja sistem.

Ada dua solusi untuk mengatasi masalah ini yang saya jamin 100% berhasil dan telah teruji aman untuk dilakukan. Silakan simak mulai dari cara yang pertama di bawah ini.

Solusi Kswapd0 Menggunakan CPU Sangat Tinggi

1. Menonaktifkan Sementara Terhadap Swappiness di Sistem

Sekilas tentang swappiness, itu merupakan sebuah parameter yang dapat dikonfigurasi pada sistem yang ditujukan untuk menentukan seberapa sering kernel akan menukar data dari RAM ke file SWAP yang telah dibuat hanya ketika RAM tidak mencukupi atau terindikasi penuh.

Dalam kasus ini, swappiness harus dinonaktifkan sementara supaya Kswapd0 tidak lagi berjalan dan CPU kembali normal. Ini merupakan langkah mitigasi utama yang disarankan, dan berikut ini perintahnya:

echo vm.swappiness=0 | tee -a /etc/sysctl.conf

Jika swappiness nilainya rendah, maka akan lebih banyak data atau proses yang ditahan pada RAM. Sedangkan perintah di atas sama halnya menonaktifkan segala proses SWAP pada sistem karena nilainya diatur sebagai nol.

Dan jalankan pula perintah di bawah ini untuk menghapus cache sistem sehingga setelan terhadap swappiness segera diterapkan.

echo 1 > /proc/sys/vm/drop_caches

Kini silakan cek pada proses, menggunakan HTOP atau TOP, kira-kira apakah Kswapd0 sudah berhenti? Jika belum, silakan lanjut ke cara ke-dua.

2. Meningkatkan Ukuran File SWAP

Katakanlah cara pertama di atas merupakan langkah sementara, karena rata-rata itu hanya bertahan sampai sistem di-reboot. Untuk cara permanen yang paling saya sarankan adalah dengan meningkatkan ukuran file SWAP di sistem.

Jadi apabila sebelumnya file SWAP pada sistem hanya menggunakan 1GB saja, silakan tingkatkan itu sebagai 2GB atau 4GB. Berikut ini perintah lengkapnya untuk mengatur file SWAP ke 4GB:

sudo swapoff /swapfile
sudo rm  /swapfile
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

Cara kerja perintah di atas adalah menonaktifkan dan menghapus terlebih dahulu file swap yang kebanyakan dinamai sebagai swapfile di folder root. Setelah itu adalah proses pembuatan filenya sekali lagi dan mulai mengaktifkannya.

Tidak perlu me-reboot sistem setelah menerapkan perintah di atas, karena sistem akan langsung merespon terhadap pergantian file swap tersebut. Dan jika kondisinya memang disebabkan karena RAM yang penuh karena file swap kurang memadai, kini kamu akan melihat perbedaan signifikan dan tentunya seluruh proses dapat berjalan normal kembali.

Baca juga: Tutorial Membuat Swap File di Linux

Kesimpulan

Kswapd0 mengalami masalah pada saat memindahkan proses dari RAM ke file swap secara terus-menerus sehingga terjadi lonjakan CPU hingga 100%, entah itu karena kendala dari sistem atau file swap yang sudah penuh.

Namun hal ini dapat diatasi dengan menonaktifkan sementara proses swap pada sistem atau meningkatkan ukuran file swap tersebut. Jika sekiranya ada yang ingin ditanyakan atau mungkin tambahan lain yang ingin disampaikan, silakan tuliskan itu di kolom komentar.

Semoga bermanfaat dan selamat mencoba

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *