Linux sunucularında performans optimizasyonunun temel taşlarından biri, CPU governor ayarlarıdır. CPU governor, işlemci çekirdeklerinin frekansını dinamik olarak yöneten bir mekanizmadır. Bu ayar, sunucunun iş yüküne göre enerji verimliliğini artırırken veya maksimum performansı sağlayarak kaynak kullanımını optimize eder. Özellikle yüksek trafikli web sunucuları, veritabanı kümeleri veya bulut tabanlı uygulamalarda doğru governor seçimi, gecikmeleri minimize eder ve operasyonel maliyetleri düşürür. Bu makalede, CPU governor’un ne olduğunu, nasıl ayarlanacağını ve en iyi uygulamaları adım adım inceleyeceğiz, böylece sistem yöneticileri pratik bir rehber elde edebilecek.
CPU governor, Linux çekirdeğinin CPUfreq alt sisteminde yer alan bir politikadır. İşlemci frekansını, sistem yüküne göre otomatik olarak ölçekler. Bu sayede, düşük yükte enerji tasarrufu sağlanırken, yoğun iş yüklerinde performans korunur. Governor’lar, donanım mimarisine ve kullanım senaryosuna göre farklı davranır. Örneğin, sunucularda varsayılan ayar genellikle ondemand veya schedutil olur, ancak bu her zaman ideal olmayabilir.
Governor türleri arasında şunlar öne çıkar:
Bu türleri anlamak, sunucunuzun ihtiyaçlarına göre seçim yapmanızı sağlar. Örneğin, sürekli yüksek CPU kullanımı olan bir veritabanı sunucusunda performance governor, sorgu sürelerini %20-30 kısaltabilir.
Sisteminizdeki mevcut CPU governor’ü öğrenmek için cpupower aracını kullanın. Öncelikle cpupower paketini yükleyin: sudo apt update && sudo apt install linux-tools-common linux-tools-generic (Debian/Ubuntu için) veya sudo yum install kernel-tools (CentOS/RHEL için). Ardından cpupower frequency-info komutunu çalıştırın. Bu, her çekirdek için mevcut governor, frekans aralığı ve mevcut hızı gösterir. Ayrıca cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor ile doğrudan çekirdek bazında governor’ü okuyabilirsiniz. Bu adım, mevcut ayarların performans sorunlarına yol açıp açmadığını teşhis etmenize yardımcı olur ve optimizasyon öncesi baseline oluşturur.
Hızlı test için geçici değişiklik yapın. Performance governor’ü etkinleştirmek üzere sudo cpupower frequency-set -g performance komutunu kullanın. Değişikliği doğrulamak için tekrar frequency-info çalıştırın. Bu ayar, yeniden başlatmada sıfırlanır, bu yüzden A/B testleri için uygundur. Örneğin, yoğun bir yük testi sırasında (stress-ng ile simüle edin: stress-ng --cpu 0 --timeout 60s), frekansın maksimuma çıkıp çıkmadığını izleyin. Bu yöntem, production ortamında risk almadan governor etkisini gözlemlemenizi sağlar ve karar vermenize temel oluşturur.
Kalıcılaştırmak için cpufrequtils servisini yapılandırın. sudo apt install cpufrequtils ile yükleyin, ardından /etc/default/cpufrequtils dosyasını düzenleyin: GOVERNOR="schedutil" satırını ekleyin veya değiştirin. Servisi yeniden başlatın: sudo systemctl restart cpufrequtils. systemd tabanlı sistemlerde /etc/sysconfig/cpu-governor dosyasını da kullanabilirsiniz. Değişiklik sonrası cpupower frequency-info ile doğrulayın. Bu işlem, boot sonrası otomatik uygulama sağlar ve sunucu yeniden başlatmalarında tutarlılık getirir, böylece manuel müdahale ihtiyacını ortadan kaldırır.
Sunucu ortamında governor seçimini iş yüküne göre uyarlayın. Web sunucuları için schedutil, veritabanları için performance önerilir. İzleme için Prometheus + Node Exporter veya top/htop gibi araçlar kullanın; CPU frekansını watch -n1 cpupower frequency-info ile takip edin. Çok çekirdekli sistemlerde tüm çekirdekleri senkronize edin: for cpu in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do echo performance | sudo tee $cpu; done. Ayrıca, BIOS’ta C-state’leri etkinleştirerek governor etkinliğini artırın. Bu uygulamalar, %15’e varan performans kazancı sağlar ve termal throttling’i önler.
Güvenlik açısından, governor değişikliklerini test ortamında doğrulayın ve yedekleme alın. Düzenli olarak kernel güncellemeleriyle uyumluluğu kontrol edin, zira yeni çekirdekler schedutil’i varsayılan yapar.
Sonuç olarak, Linux sunucuda CPU governor ayarı, performans ve verimlilik dengesini kurmanın etkili bir yoludur. Bu rehberdeki adımları uygulayarak sisteminizi optimize edebilir, kaynak kullanımını verimli hale getirebilirsiniz. Düzenli izleme ve testlerle ayarlarınızı ince ayarlayın, böylece kurumsal operasyonlarınızda maksimum fayda sağlayın.