KVMのCPU使用率


9

私は4つのKVM Linuxゲストを持つLinuxホストを持っています。すべてのゲストはほとんどアイドル状態で、ゲスト内の負荷は<0.1です。

ここでtop、ホストでaを実行すると、各KVMプロセスがCPUの約30%を使用しています。

これは正常な動作ですか?アイドル状態のゲストをホストするためだけに、ホストが必要とするCPUがはるかに少なくて済むと思います。

正常な場合、その理由は何ですか?

それが正常でない場合、何が問題なのでしょうか?


どのLinuxディストリビューションを使用していますか?Debian、Ubuntu、CentOSまたは他の何か?
slm

ホストは現在のフェドーラ、ゲスト、古いSLES 11.2を実行しています。カーネルは、ホストでは3.6.10-4.fc18.x86_64、ゲストでは3.0.13-0.27-defaultです。
michas 2013年

回答:


6

皮肉なことに、それはWindowsゲストでは「普通」であると言えるが、Linuxゲストではそうではない(少なくとも、そのように振る舞うのを見たことがなかった)。

Windowsでは、実行中の(アイドルに近い)アプリケーションに大きく依存します。プレーンなXPまたはW2K(KVMの新しいバージョンについてはまだ経験がありません)では、ホストで10%から20%が発生します(内部では約0%と表示されます)が、MS SQLサーバーはこれを30%を超えて簡単に取得します。これは、タイマーアクセスやACPIに何らかの関係があるようです。しかし、非ACPI VMでも、ホストでWindowsが10%未満になることはありませんでした。

編集1(コメントの統合)

cat /sys/devices/system/clocksource/clocksource0/current_clocksource(ゲスト内)の出力は何ですか?それはkvm-clockでなければなりません。カーネル構成(/proc/config.gz)でCONFIG_PARAVIRT_CLOCKとCONFIG_KVM_CLOCKを確認します。

これは、KVMに関連するカーネル構成オプションのリストです


私の場合、Linuxゲストしかありません。(質問が更新されました)
michas

2
@michasああ少年、あなたは私の最愛の偏見を台無しにしました...そのテキストモードのVMですか、それともXですか?の出力はcat /sys/devices/system/clocksource/clocksource0/current_clocksource何ですか?
Hauke Laging 2013年

current_clocksourceはacpi_pmゲスト内とtscホスト上にあります。Xはありませんが、各ゲストでJavaアプリケーションサーバーとOracle DBが実行されています。
マイカ2013年

@michas kvm-clock代わりに(ゲストで)する必要があります。それを明示的に設定する必要はありませんでした。カーネルコンフィグ(確認/proc/config.gz用)をCONFIG_PARAVIRT_CLOCKしてCONFIG_KVM_CLOCK
Hauke Laging 2013年

1
どちらもに設定されていyます。current_clocksourceをに設定するとkvm-clock、状況が改善されます。現在、各KVMプロセスは約20%です。システムは以前のvirtualboxセットアップからKVMに移行されました。一部の設定は古い設定のものであるようです...
michas

0

KVMゲストがすべてのホストのリソース(CPU、RAMなど)を利用できるようにプロビジョニングされていることを確認します。通常、KVMゲストは、さらに多くを含む可能性のあるシステム上で、1〜2個のCPU(コア)のみが割り当てられます。

これは、ホストのリソースと特定のKVMゲストの内部を比較したときに、まったく同じものを比較していないことを意味します。

例えば

ホストには次のものがあります。

$ lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                12
On-line CPU(s) list:   0-11
Thread(s) per core:    2
Core(s) per socket:    6
CPU socket(s):         1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 45
Stepping:              7
CPU MHz:               1200.000
BogoMIPS:              6404.04
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              12288K
NUMA node0 CPU(s):     0-11

KVMゲストの1人がこれを持っていますが、

$ lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                1
On-line CPU(s) list:   0
Thread(s) per core:    1
Core(s) per socket:    1
CPU socket(s):         1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 6
Stepping:              3
CPU MHz:               3202.024
BogoMIPS:              6404.04
Hypervisor vendor:     KVM
Virtualization type:   full
L1d cache:             32K
L1i cache:             32K
L2 cache:              4096K
NUMA node0 CPU(s):     0

1
ここでも同様:ホストに8コア、各ゲストに4コア。-しかし、それがアイドル状態のゲストからの実質的な負荷をどのようにもたらすかはわかりません。
マイカ2013年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.