Centos Web Panel (CWP) clamd veya amavis CPU %100 sorunu çözümü
Son zamanlarda VPS hizmetimde kurulu olan CWP 7 içerisinde çalışan amavis servisinin cpu kullanımının %90 – %100 olduğunu gördüm. Bir kaç gün takip ettim ve durum hiç değişmiyordu.
Özellikle amavis servisinin devamlı cpu’nun %90 ve üzeri şekilde meşgul ettiğinin farkına vardım. Clamd ve amavis servislerinin kurulumunda yada kullanımında herhangi bir sıkıntı yoktu. Bu servislerle ilgili hiçbir hata yokken bile cpu’yu bu kadar zorlaması canımı sıktı ama neyse ki sorunu çözdüm.
Öncelikle clamd ve amavis servislerinin hatasız kurulu olduğuna ve sorunsuz çalıştığına emin olun.
Gelelim sorunun çözümüne;
ssh ile serverimize bağlanalım.
İlk komutumuz : service clamd stop
Komutumuzu yazdıktan sonra 15 – 20 saniye bekleyelim.
İkinci komutumuz : rm -f /var/run/clamd.amavisd/clamd.sock
Sorun olduğunu düşündüğümüz ilgili dosyayı silelim.
Üçüncü Komutumuz : service clamd start
Servisimizi yeniden çalıştırdıktan sonra CWP panele geri dönelim ve Live Server Monitor (live load) kısmından cpu’nun durumunu izleyelim. Büyük ihtimalle cpu 100 olma sorunu devam ediyor olacaktır.
Dördüncü Komutumuz : sh /scripts/clamd_fix_100_cpu_usage
Bu komutta scriptimiz clamd servisini durdurup yeniden başlatacak. Tekrar Live server monitor’e dönelim ve cpu’yu tekrar gözlemliyelim. Sorununuz büyük ihtimalle çözülmüş olmalı 😉
Serveriniz içerisinde clamd_fix_cpu_usahe shell dosyası yoksa (Son güncel versiyon) aşağıdaki komutları herhangi bir editör ile kayıt edip servernize yükleyerek çalıştırabilirsiniz.
#!/bin/bash # This script will fix clamd 100% cpu usage on the centos 7 servers if [ -e "/usr/lib/systemd/system" ];then cd /usr/lib/systemd/system if [ -e "clamd.service" ];then sed -i "s/^Type \= forking/Type \= simple/" clamd.service sed -i 's/^ExecStart.*$/ExecStart = \/usr\/sbin\/clamd -c \/etc\/clamd.d\/amavisd.conf --foreground=yes/' clamd.service fi if [ -e "clamd-scan.service" ];then sed -i 's/clamd@.service/clamd.service/' clamd-scan.service fi systemctl daemon-reload service clamd stop service amavisd stop rm -f /var/run/clamd.amavisd/clamd.sock service clamd start service amavisd start fi
Yaw sen adamın dibisin 🙂
Teşekkürler 😛