ようへいの日々精進XP

よかろうもん

xe コマンドで VM の CPU 使用率等の各種情報を取得する

概要

  • xe コマンドを利用して XenServer 上の各 VM の CPU 使用率やメモリの空き容量等を取得する

CPU

割り当てられた CPU の使用率を取得

割当られた各々の CPU 使用率は vm-param-getparam-name=VCPUs-utilisation を指定することで取得することが出来る

xe vm-param-get uuid=${VMのUUID} param-name=VCPUs-utilisation

以下のような結果となる。

0: 0.001; 1: 0.000

頭の 0 から 1 は割り当てた CPU の番号となる。1.000 が 100% となる。 この例だと 2 個の CPU が割り当てられている状態。


メモリ

メモリの割当は残念ながら vm-param-get で確認することは出来ないので vm-data-source-query を利用する。

メモリ割り当てサイズを取得(Byte)

xe vm-data-source-query data-source=memory uuid=${VMのUUID}

以下のような結果となる。

8589934592.000000

上記で 8GB の割り当てとなる。

メモリの空き容量を取得(KB)

xe vm-data-source-query data-source=memory_internal_free uuid=${VMのUUID}

以下のような結果となる。

7838576.000000

上記で 7.8GB の空き容量となるので、使用量を導き出すには割り当て量から空き容量を引き算する必要がある。


応用

  • コマンド一発でリモートから取得出来ないか?
  • knife xenserver または knife xapi で取得出来ないか?

いずれも出来そうなのでそのうち頑張ってみる。