VMware ESXi Hostunda Yüksek CPU Kullanımını Anlama ve Analiz Etme Yöntemleri

9/14/20265 min read

VMware ESXi Hostunda Yüksek CPU Kullanımı Nasıl Analiz Edilir?

VMware ortamlarında yüksek CPU kullanımı her zaman sanal makinelerin gerçekten yoğun CPU tükettiği anlamına gelmez.

Bazen aynı sanal makineler bir ESXi hostunda yüksek CPU kullanımına neden olurken başka bir hosta taşındığında normal şekilde çalışabilir.

Bu yazıda, böyle bir durumda ESXi tarafında hangi kontrollerin yapılabileceğini ve problemin nasıl adım adım daraltılabileceğini ele alacağım.

Bir VMware cluster ortamında belirli bir ESXi hostuna birkaç sanal makine taşındığında CPU kullanımının beklenenden fazla yükseldiğini düşünelim.

Aynı sanal makineler cluster içerisindeki başka bir ESXi hostuna taşındığında ise CPU kullanımı normale dönüyor.

Bu durumda problemi yalnızca VM'lerin CPU tüketimi üzerinden değerlendirmek doğru olmayacaktır.

Sorunun aşağıdaki katmanlardan kaynaklanma ihtimali bulunmaktadır:

  • ESXi host yapılandırması

  • CPU güç yönetimi

  • NUMA mimarisi

  • CPU scheduling

  • BIOS ayarları

  • Firmware veya driver farklılıkları

  • Donanımsal performans problemi

Bu nedenle ilk olarak host seviyesinde inceleme yapmak gerekir.

ESXi CPU Kullanımını Kontrol Etme

İlk kontrolü vCenter üzerinden yapabiliriz.

Host → Monitor → Performance → CPU

bölümünden hostun CPU kullanımını inceleyebiliriz.

Ancak vCenter üzerindeki genel CPU yüzdesi tek başına problemi anlamak için yeterli olmayabilir.

Daha detaylı analiz için ESXi üzerinde esxtop kullanılabilir.

SSH üzerinden ESXi hostuna bağlandıktan sonra:

esxtop

komutunu çalıştırıyoruz.

Ardından CPU ekranına geçmek için:

c

tuşuna basabiliriz.

Burada özellikle aşağıdaki metrikler önemlidir:

%USED
%RUN
%RDY
%CSTP
%WAIT

CPU Ready (%RDY) Değerini Kontrol Etme

CPU problemi araştırılırken dikkat edilmesi gereken en önemli değerlerden biri CPU Ready değeridir.

CPU Ready, bir sanal makinenin çalışmaya hazır olduğu hâlde fiziksel CPU üzerinde çalışma sırası beklediği süreyi ifade eder.

Örneğin bir VM CPU kullanmak istiyor ancak ESXi scheduler fiziksel CPU kaynağını henüz VM'e sağlayamıyorsa %RDY değeri yükselmeye başlayabilir.

Yüksek CPU Ready değerleri;

  • Host üzerindeki CPU yoğunluğuna

  • Gereğinden fazla vCPU atanmasına

  • CPU overcommit durumuna

  • VM'lerin CPU scheduler üzerinde beklemesine işaret edebilir.

Bu nedenle yalnızca VM'in CPU kullanım yüzdesine değil %RDY değerine de bakmak gerekir.

VM'lere Atanan vCPU Sayısını Kontrol Etme

VMware ortamlarında bir sanal makineye fazla vCPU vermek her zaman daha yüksek performans sağlamaz.

Örneğin uygulamanın ihtiyacı 4 vCPU iken VM'e 16 vCPU atanması bazı senaryolarda scheduler'ın VM için kaynak ayırmasını zorlaştırabilir.

VM üzerinde:

Edit Settings → CPU

bölümünden atanmış vCPU sayısı kontrol edilebilir.

Aynı zamanda host üzerindeki toplam fiziksel CPU kaynaklarıyla VM'lere atanmış toplam vCPU miktarını karşılaştırmak faydalıdır.

NUMA Yapısını Kontrol Etme

Çift işlemcili fiziksel sunucularda NUMA mimarisi performans açısından önemlidir.

ESXi host üzerinde NUMA bilgisini görmek için:

esxcli hardware memory get

ve donanım bilgileri için:

esxcli hardware cpu global get

kullanılabilir.

VM'in vCPU ve RAM yapılandırmasının fiziksel NUMA yapısıyla uyumlu olması özellikle büyük sanal makinelerde önemlidir.

Bir VM'in CPU ve RAM ihtiyacının NUMA node sınırlarını aşması durumunda remote memory erişimleri oluşabilir ve performans etkilenebilir.

esxtop içerisinde:

m

ile memory ekranına geçerek NUMA ile ilgili metrikler de incelenebilir.

ESXi Power Policy Kontrolü

Benzer donanıma sahip iki ESXi hostunun performansının farklı olmasının nedenlerinden biri güç yönetimi politikası olabilir.

ESXi üzerinden:

Host → Configure → Hardware → Power Management

bölümü kontrol edilebilir.

Burada örneğin:

Balanced
High Performance

gibi güç politikaları bulunabilir.

Performans problemi yaşayan host Balanced modda çalışıyorsa test amacıyla High Performance kullanılabilir.

Power Policy değiştirildikten sonra CPU davranışı tekrar gözlemlenmelidir.

Burada amaç doğrudan ayarı değiştirmek değil, performans farkının güç yönetiminden kaynaklanıp kaynaklanmadığını doğrulamaktır.

BIOS Güç Yönetimini Kontrol Etme

ESXi üzerindeki Power Policy kadar fiziksel sunucunun BIOS ayarları da önemlidir.

Sunucu BIOS'unda aşağıdaki ayarlar kontrol edilebilir:

System Profile
CPU Power Management
C-States
Turbo Boost
Energy Performance Bias

Performans odaklı bir VMware ortamında üreticinin önerileri doğrultusunda uygun performans profilinin kullanılması gerekebilir.

Örneğin iki ESXi host aynı cluster içerisinde bulunmasına rağmen BIOS profilleri farklıysa aynı workload altında farklı performans gösterebilirler.

Hostları Birbiriyle Karşılaştırma

Problemi tespit etmenin en etkili yöntemlerinden biri çalışan ve problemli hostu karşılaştırmaktır.

Özellikle şu değerler karşılaştırılabilir:

ESXi Version / Build
BIOS Version
Firmware Version
CPU Model
CPU Core Sayısı
Hyper-Threading
Power Policy
NUMA Node Sayısı
Driver Sürümleri
Network Adapter Firmware
HBA Firmware

Eğer aynı cluster içerisindeki hostlardan yalnızca birinde problem yaşanıyorsa bu karşılaştırma oldukça önemlidir.

Örneğin:

Host-A
VM Sayısı : Az
CPU : Yüksek

Host-B
VM Sayısı : Daha fazla
CPU : Normal

gibi bir durum varsa problemin doğrudan VM workload'undan kaynaklandığını söylemek doğru olmayabilir.

Hyper-Threading Durumunu Kontrol Etme

Hyper-Threading durumunu kontrol etmek için:

esxcli hardware cpu global get

kullanılabilir.

Ayrıca vSphere Client üzerinden:

Host → Configure → Hardware → Processors

bölümünden fiziksel işlemci, core ve logical processor bilgileri görülebilir.

Cluster içerisindeki hostların CPU yapılandırmalarının karşılaştırılması faydalıdır.

Firmware ve Driver Kontrolü

İşletim sistemi seviyesinde yapılan kontroller normal görünmesine rağmen sorun devam ediyorsa donanım katmanına geçmek gerekir.

Kontrol edilmesi gereken başlıca bileşenler:

  • BIOS

  • iDRAC/iLO

  • RAID Controller

  • Network Adapter

  • HBA

  • Chipset

  • CPU Microcode

ESXi sürümü ile kullanılan driver ve firmware sürümlerinin donanım üreticisinin desteklediği kombinasyonlarla uyumlu olması önemlidir.

Özellikle problem yalnızca tek bir fiziksel hostta yaşanıyorsa firmware ve BIOS farklılıkları mutlaka kontrol edilmelidir.

VMotion ile Karşılaştırmalı Test

Problemin VM'den mi yoksa hosttan mı kaynaklandığını anlamak için uygulanabilecek en etkili testlerden biri VMotion'dır.

Test senaryosu şu şekilde uygulanabilir:

VM → Host-A
CPU yüksek

vMotion

VM → Host-B
CPU normal

Ardından VM tekrar eski hosta taşınarak davranış gözlemlenebilir.

Eğer aynı VM;

Host-A üzerinde sorunlu, Host-B üzerinde normal

çalışıyorsa araştırmanın ağırlığını VM içerisindeki işletim sisteminden ziyade ESXi host ve fiziksel donanım katmanına kaydırmak gerekir.

Troubleshooting Sırası

Benzer bir problemle karşılaşıldığında aşağıdaki sıra kullanılabilir:

VM CPU Kullanımı

esxtop

CPU Ready

vCPU Yapılandırması

NUMA

ESXi Power Policy

BIOS Power Management

Firmware / Driver

Host Karşılaştırması

vMotion Testi

Bu yöntem problemin hangi katmanda olduğunu daha hızlı daraltmaya yardımcı olur.

VMware ortamlarında yüksek CPU problemi araştırılırken yalnızca vCenter üzerinde görünen CPU kullanım yüzdesine odaklanmak yeterli değildir.

Özellikle aynı VM'ler farklı ESXi hostlarında farklı performans gösteriyorsa;

CPU Ready, NUMA, Power Policy, BIOS yapılandırması, firmware/driver seviyeleri ve fiziksel host farklılıkları

birlikte değerlendirilmelidir.

Sistem yöneticiliğinde troubleshooting sürecinin en önemli noktalarından biri de problemi oluşturan bileşeni doğrudan tahmin etmek yerine katmanları tek tek eleyerek ilerlemektir.

Aynı workload'u farklı hostlarda karşılaştırmak, bu tür problemlerde sorunun VM'den mi yoksa altyapıdan mı kaynaklandığını anlamanın en etkili yöntemlerinden biridir.

IT UZMANI

Yasin Karadereli

Blog

info@karadereliyasin.com

© 2025. All rights reserved.