AIXのvcpuとlcpuの違い

AIXのvcpuとlcpuの違い

以下のpdfが参考になります。

Understanding POWER7 Capacity Entitlement and Virtual – IBM

vcpu

vcpuは「Physical CPU(物理CPU)」もしくは「VIRTUAL PROCESSOR(VP)」のことです。

vcpuが「VP」であることはしっくりくると思いますが、「物理CPU」というのは腑に落ちないかもしれません。

PowerVMのおかげで、物理的なCPUを単位時間辺りに使える秒数で区切ることができるようになりました。ある意味物理CPUの切り売りです。1つのCPUを時間毎に区切って、各OSに貸してあげているわけです。

そのCPUが各OSに割り当てられるのですから、使える時間の多い少ないはありますが、OSから見れば物理CPUが割り当たっているのと同じです。

別の見方をすると、1つのCPUが、複数の仮想的なCPUとして各OSで稼働しているイメージですね。

つまり視点の違いはありますが、「物理CPU」と「VP」は同じもの。つまり「Physical CPU」=「VIRTUAL PROCESSOR」です。

「Physical CPUs」、「VIRTUAL PROCESSORs」は「proc」で表記されます。

ここで「CPUs」「PROCESSORs」と「s」が付いているのはCPUが複数あることが多いからです。

※コマンド結果は、こちらのサイトから引用させて頂きました。

「Processor」の箇所は、日本語環境の場合は、「プロセッサー」と表示されます。

procの数字が1つ飛ばしであることに気付いた方は鋭い!

この例は「2 SMT」ですが、「4 SMT」の場合は「proc0」「proc4」と続いていきます。(SMTについては後述)

ご注意ください!

lcpu

lcpuは「Logical CPU」のことです。

各OSが使用できるCPU数ですね。CPUでマルチスレッドがサポートされていれば、1つのvpuc(物理CPU)が、2つのlcpu(論理CPU)や4つのlcpu(論理CPU)に見えるわけです。

「Logical CPUs」は「processor」と表記されます。

「bindprocessor -q」や「lparstat」で確認できます。

※コマンド結果は、こちらのサイトから引用させて頂きました。

bindprocessorコマンドの結果から、「processors are:」の後ろに0から7までのprocessorが並んでいます。合計8つですね。

またlparstatコマンドの結果には「lcpu=8」とあります。ここからも合計8個であることがわかります。

vcpuとlcpuの数を同時に知るコマンド

ずばり、smtctrlコマンドです。

※引用元はこちら

赤字にした箇所に注目してください。

「processor 0」は「lcpu」、「proc0」は「vcpu」です。

「processor 1」も「lcpu」、「proc0」は「vcpu」です。

vcpuである「proc0」は2つの論理的なCPUとしてOSに認識されていることがわかります。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする