Sunucunuzda birden fazla hizmet çalışıyorsa ve bu hizmetler uzun süreli çalışıyorsa, performans açısından CPU kontrolü önem kazanır. Özellikle video işleme, veritabanı işlemleri veya karmaşık uygulamalar gibi durumlar, CPU kullanımını artırarak geçici ya da kalıcı yavaşlamalara neden olabilir. Özellikle Linux üzerinde CPU bilgisi komutlarıyla bu tür durumlar önceden analiz edilip müdahale edilebilir. Bu yüksek kullanım uzun vadede devam ederse, dikkat edilmesi gereken ciddi sorunlara yol açabilir. Bu yazımızda, VDS altyapısında çalışan Linux sunucularda CPU performansını artırmak için uygulanabilecek yöntemleri örneklerle anlatacağız.
Kötü Optimize Edilmiş Uygulamalar:
CPU’yu zorlayan en yaygın problemlerden biri, kötü optimize edilmiş uygulamalardır. Sonsuz döngüler, bellek sızıntıları veya verimsiz sorgular gibi sorunlar işlemcinin gereksiz yere meşgul olmasına yol açar. Özellikle PHP veya Python ile geliştirilmiş uygulamalar düzgün yapılandırılmadığında ya da çok sayıda eşzamanlı işlemde yetersiz kaldığında yüksek CPU kullanımı kaçınılmaz olur.
CMS Sistemleri ve Eklenti Sorunları:
WordPress gibi sistemlerde kötü kodlanmış tema ve eklentiler CPU’yu gereksiz yere meşgul edebilir. Özellikle ziyaretçi trafiği arttığında bu durum sistem performansını ciddi şekilde etkileyebilir. Ayrıca önbellekleme mekanizmalarının doğru yapılandırılmaması, her sayfa isteğinde sistemin tüm işlemleri yeniden yapmasına yol açar. Bu tür sorunları önlemek için, WordPress altyapısında LiteSpeed Cache gibi gelişmiş önbellekleme çözümlerinin etkin biçimde kullanılması büyük avantaj sağlar.
Kötü Amaçlı Yazılımlar ve Dış Tehditler:
Bir diğer ciddi sorun ise kötü amaçlı yazılımlardır. Kripto para madenciliği yapan zararlı yazılımlar sunucunun işlem gücünü fark ettirmeden kullanabilir. Benzer şekilde, DDoS saldırıları veya kaba kuvvet girişimleri gibi dış tehditler, sunucuya aşırı istek göndererek işlemcinin sürekli yüksek yük altında kalmasına neden olabilir.
Planlanmış Görevler ve Sistem Yoğunluğu:
Bazı durumlarda ise yüksek CPU kullanımı tamamen sistemin kendi bakım süreçlerinden kaynaklanabilir. Otomatik yedeklemeler, virüs taramaları veya yazılım güncellemeleri gibi görevler işlemciyi geçici olarak zorlayabilir. Bu gibi işlemler özellikle AlmaLinux cPanel kurulumu sonrası yapılan güvenlik taramalarıyla daha da belirgin hale gelebilir.
Gerçek Zamanlı CPU Kullanımı İzleme Araçları
Hatalı çalışan bir yazılım, en güçlü CPU’ları bile zorlayarak sistem performansında ciddi düşüşlere neden olabilir. Bu tür sorunları erken fark edebilmek için grafik arayüzlü izleme araçları ya da terminal tabanlı uygulamalar kullanılabilir. Özellikle uzak bağlantıyla yönetilen SSH sunucularında terminal üzerinden çalışan araçlar daha etkili çözümler sunar.
‘top’ Komutuyla CPU Kullanımını
top komutu, Linux sistemlerde CPU, bellek ve işlem aktivitelerini gerçek zamanlı olarak izlemek için kullanılan temel araçlardan biridir.
top

Varsayılan olarak top ekranı her 3 saniyede bir yenilenir. Yük ortalamaları, görev sayısı ve CPU durumu gibi temel sistem bilgilerini gösterir. Kullanıcılar, P ile CPU’ya, M ile belleğe göre sıralama yapabilir, k tuşuyla işlemleri sonlandırabilir.
mpstat Komutuyla CPU Kullanımını İzleme
mpstat komutu, sysstat paketine ait bir araçtır ve işlemci başına detaylı CPU kullanım istatistikleri sağlar. Kullanıcı süresi, sistem süresi, boşta kalma oranı ve G/Ç bekleme süresi gibi verileri gösterir. Çok çekirdekli sistemlerde çekirdek bazlı analiz için idealdir.
mpstat -P ALL 2 5

sar Komutuyla CPU Kullanım Geçmişini İzleme
sar komutu, sysstat paketinin bir parçası olup CPU kullanım verilerini hem anlık hem de geçmişe dönük olarak görüntülemenizi sağlar. Sistem performansını zaman içinde analiz etmek isteyen yöneticiler için son derece faydalıdır.

Belirli aralıklarla veri toplamak için örnek: Bu komut, her 2 saniyede bir CPU istatistiklerini toplar ve toplamda 5 kez tekrarlar. Özellikle sistemdeki performans dalgalanmalarını takip etmek ve geçmiş verilerle karşılaştırma yapmak için idealdir.
sar -u 2 5
iostat Komutuyla CPU ve G/Ç Kullanımını İzleme
iostat komutu, hem CPU kullanımını hem de disk aygıtları ve bölümler için giriş/çıkış istatistiklerini gösterir. Özellikle G/Ç performansını analiz ederken CPU üzerindeki etkileri de değerlendirmek isteyenler için idealdir.
CPU kullanımını görmek için:
iostat

vmstat Komutuyla CPU Kullanımını İzleme
vmstat komutu; CPU, bellek, takas ve G/Ç istatistiklerini özet biçimde sunarak sistemin genel durumunu değerlendirmenizi sağlar. Özellikle bellek darboğazları ve takas kullanımının CPU performansına etkisini analiz etmek için kullanılır.
Her 2 sn bir çalıştırmak için aşağıdaki komutu kullanabilirsiniz.
vmstat 2

cpulimit Aracıyla Linux’ta CPU Kullanımı Nasıl Sınırlandırılır?
cpulimit, belirli bir sürecin (PID) CPU kullanım yüzdesini sınırlandırmanıza olanak tanır. cputool gibi alternatiflerine kıyasla daha fazla kontrol seçeneği sunar; ancak sistem yükünü izlemez, sadece hedef sürecin CPU tüketimini sınırlamaya odaklanır.
Ubuntu/Debian sistemlerde kurulum için;
sudo apt install cpulimit
RHEL/CentOS/Fedora sistemlerde önce EPEL deposunu etkinleştirme
sudo yum install epel-release
sudo yum install cpulimit
Aşağıda, bu aracı kullanırken işinize yarayacak temel seçenekleri bulabilirsiniz:
| Seçenek | Açıklama |
|---|---|
--pid, -p | Sınırlandırılacak sürecin PID’si |
--limit, -l | CPU kullanım limiti (%) |
--background, -b | cpulimit‘i arka planda çalıştırır |
--cpu, -c | Çekirdek sayısını belirtir (varsayılan: otomatik) |
--kill, -k | Limit aşılırsa işlemi sonlandırır |
--signal, -s | Farklı sinyaller göndererek işlemi durdurma |
--lazy, -z | İşlem kaybolursa otomatik çıkış yapar |
Prometheus ve Grafana ile Gelişmiş CPU İzleme
Geleneksel komut satırı araçları (top, htop, sar vb.), sistem kaynak kullanımını anlık olarak izlemenizi sağlar. Ancak bu araçlar uzun vadeli eğilimleri analiz etmek, geçmiş verileri saklamak ya da özel bildirimler oluşturmak konusunda sınırlıdır. İşte tam bu noktada Prometheus ve Grafana entegrasyonu devreye girer.
Prometheus, sistem metriklerini zaman serisi olarak toplayan açık kaynaklı güçlü bir izleme aracıdır. Grafana ise bu verileri görselleştirerek anlamlı grafiklere ve panellere dönüştürmenizi sağlar. Özellikle CPU kullanım trendlerini izlemek, ani yüklenmeleri tespit etmek ve belirli eşiklerin üzerinde işlemci tüketimi gerçekleştiğinde otomatik olarak uyarı almak isteyen sistem yöneticileri için bu ikili vazgeçilmezdir.
Node Exporter Kurulumu
wget https://github.com/prometheus/node_exporter/releases/download/v1.8.0/node_exporter-1.8.0.linux-amd64.tar.gz
tar -xvzf node_exporter*.tar.gz
./node_exporter
Prometheus Kurulumu ve Yapılandırma
scrape_configs:
- job_name: 'node'
static_configs:
- targets: ['localhost:9100']
Grafana Kurulumu ve Dashboard Oluşturma
sudo apt install grafana
sudo systemctl enable --now grafana-server
İzleme ve alarm altyapınız artık temel düzeyde hazır. Bu yapı sayesinde CPU kullanımını sadece anlık değil, geçmişe dönük olarak da takip edebilir, belirlediğiniz eşiklerde otomatik uyarılar alarak sistem performansını proaktif şekilde yönetebilirsiniz.
Daha gelişmiş paneller oluşturmak, birden fazla sunucuyu izlemek istiyorsanız, adım adım ekran görüntüleriyle hazırladığımız detaylı kurulum rehberimize göz atmanızı öneririz.

