Linux Sunucuda kswapd0 Yüksek CPU Kullanıyorsa


Sunucunuzda bir yavaşlama varsa bunun yüksek kaynak kullanımı ile ilişkili birşey olduğunu düşünebiliriz. Yüksek kaynak kullanımından kasıt yüksek CPU (işlemci) veya RAM kullanımıdır. Birşey sunucunuzun CPU veya RAM kaynaklarını aşırı miktarda kullanıyor ve sunucunuzu yavaşlatıyor hatta çalışamaz hale getiriyor olabilir. Bu sebeple sunucunun ince ayarlarının doğru yapılması önemlidir.
Sunucuda yanlış konfigüre edilmiş ayarlar yada başka bir problem yüksek kaynak kullanımına neden olabilir.

Linux sunucunuzdaki SSH konsoluna root kulanıcısı ile bağlanın ve top komutunu çalıştırın. Önceki yazılarımızda top komutundan bahsetmiştik. Top komutu çalışacak ve size CPU ve RAM kullanımını anlık olarak ekranda gösterecektir.

Swap Deamon Top Ekran Goruntusu

Kswapd0 Nedir?

Kswapd0 sunucunun RAM kaynaklarını verimli kullanabilmek için ihtiyaç halinde sunucunun diskinin bir kısmını swap (takas) alanı olarak kullanır. Bu şekilde RAM’in çalışmasına yardımcı olmaya çalışan bir uygulamadır. Aslında faydalı olmaya çalışan bir uygulama olduğu halde ayarları sunucuya özel olarak düzgün bir şekilde yapılmadığında aşırı CPU kullanımına neden olarak sunucuyu yavaşlatır veya çalışamaz hale getirir ve kilitler.

Kswapd0 Aşırı CPU Tüketiyor ve Sunucuyu Yavaşlatıyor

Top yada htop ile SSH konsolunda sunucunun yoğunluğunu incelediniz ve Kswapd0 işlemi CPU’yu adeta sömüyüor %25 30 45 60 oranında kullanıyor. Bu durumda aslında sunucunuzun perfaormanslı çalışmasına yardımcı olmaya çalışan bu uygulamanın ince ayarlarının yapılmadığını bu sebeple rasgele çalıştığını düşünebiliriz.

Kswapd0 Nasıl Ayarlanır

İlk önce aşağıdaki komutla swap ayarlarının yapılıp yapılmadığını kontrol ederiz.

# sudo swapon --show 

Ekrana swap ayarları ile ilgili bilgi içeren satırlar gelmez ise swap ayarları yapılmamış demektir.
Swap alanı en az RAM miktarı kadar olmakla birlikte, mümkünse RAM miktarının 2 katı olması önerilmektedir. Aşağıdaki komutta 4G ile ifade edilen sunucu diskinde oluşturulacak ve swap alanı olarak kullanılacak olan dosyanın boyutudur. Yani swap alanımızın boyutudur.
Aşağıdaki komutları sırası ile uygulayarak swap alanımızı oluşturmuş ve ayarlarını yapmış oluruz.

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

Sonra aşağıdaki komutu uygulayarak swap alanımızı ve boyutunu kontrol edebiliriz.
# sudo swapon --show

Yaptığımız ayarların kalıcı olarak kaydedilmesi için aşağıdaki komutlarla fstab dosyamızı yedekledikten sonra kaydediyoruz.

# sudo cp /etc/fstab /etc/fstab.bak
# echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

Artık Swapd0 işlemi sunucumuzun CPU kaynağını sömürmeyecek ve limitlerinde çalışmaya devam edecektir.

Bir yanıt yazın