インフラエンジニアは人間じゃない

インターネットの闇、炎上ネタ、迷惑メールや詐欺、あらゆる危険な情報を扱うブログです。

MENU

VMware vSphere ESX/ESXiのCPUのReady値(準備完了)とは?仮想マシンへの影響は?

こんにちは。

純インフラエンジニアのねるです。

VMwareによる仮想環境の運用歴7年の大ベテランです。どや顔です。

 

今年は暖冬と言われていますが、最近は寒い日が続きますね。

既に立春は過ぎて、暦の上では春を迎えているはずなのですが、春分あたりまでは寒いのかもしれません。

ちなみに、春分の日は昼と夜の長さが等しくなる日とされています。今日はこれだけでも覚えて帰って下さいね。

 

さて、本題とは違いますがVMware vSphere ESXiを運用していると、CPUのReady値(準備完了)?なんだこれ?と気になる時がやってくると思います。

よく分からないけどCPUの使用率だけ見ておけば大丈夫っしょ!笑と思ってる皆さん、大間違いです。ちゃんとCPUのReady値も見ておかないと、痛い目を見ます。

 

CPUのReady値について説明する前に、VMware仮想環境におけるCPU割当の仕組みを解説しますね。

以下の図のようにESXi上のVM(仮想マシン)はCPUを使う処理をする場合、ESXiに対してCPUの割当要求をします。

 

f:id:nell17world:20200229124016p:plain

VMware vSphere ESXi CPU割当処理解説

そうすると、ESXiは物理サーバのCPUから空いているCPUを割り当てします。

割り当てられたCPUを使って、VMはOS上の処理等を実行します。

これがVMware仮想環境におけるCPU割当の仕組みです。

今説明したのは問題なくCPUを割り当てることが出来たパターンになりますが、

CPUの割り当てが出来ないパターンがあります。その時にCPUのReady値が登場します。

 

VMがOS上でCPUを使用する処理をするために、CPUの割り当て要求をESXiに投げた時に、物理サーバに空いているCPUがない(他のVMが占有している状態)場合、CPUの割り当てが出来ません。

そうした場合、仮想マシンはCPUが空くまで待ち状態となります。

CPUが空くまで待っている時間の割合がReady値(%)です。

仮想マシンのパフォーマンスチャートでは「準備完了」という項目で表示されています。

 

物理サーバのCPUを仮想マシン同士で奪い合い競合が発生する程、このReady値は高くなっていきます。

一般的に、10%を超えるとパフォーマンスに大きな影響が出ます。ただし、CPU時間に影響を受けないような処理は問題ありません。

慢性的にCPUのReady値が高い場合、別のESXiへvMotionをして負荷分散する等の対処を検討することをオススメします。

もしくは、仮想マシンのコア数の設定を減らすことも効果的です。1台が占有出来るCPU数が減りますからね。

ただ、減らした仮想マシンのパフォーマンスは当然遅くなるので、まずは別のESXiへvMotionをすることを推奨します。

 

VMwareは物凄く便利なツールです。

賢く使って更に効果的なパフォーマンスを発揮出来るよう、運用していきましょう。

 

グッバイ。