検索
特集/連載

仮想マシン(VM)を遅くする「CPU」の“駄目”な使い方と対処法VMに最適なCPUの選び方【第3回】

CPUを適切に利用しないと、仮想マシン(VM)の処理速度が低下する場合がある。VMの快適な動作を実現するための、CPU活用のポイントを説明する。

Share
Tweet
LINE
Hatena

 仮想マシン(VM)を快適に運用するには、VMを稼働させるサーバの「CPU」(中央処理装置)を適切に利用することが大切だ。本稿は、VM運用時のCPUに関する注意点を整理する。

1.「ハイパースレッディング」を意味もなく使う

 「ハイパースレッディング」は、CPU内の1つのコアで、複数のプロセス(プログラム)を並列で実行可能にし、CPUリソースの無駄遣いをなくす機能だ。ただし必ずしもCPUの処理速度を向上させるとは限らない。

 ハイパースレッディングの問題点は、1つのコアが処理するプロセスは、同じキャッシュメモリを共有することにある。そのためプロセス間でキャッシュメモリの競合が発生し、データ処理のボトルネックになる可能性がある。

 CPUを選定するときは、ユーザー企業はハイパースレッディングを利用できるかどうかではなく、コア数が十分かどうかを重視するとよい。ハイパースレッディングによって少ないコアで複数のアプリケーションを稼働させるよりも、コア数の多いCPUを購入し、ハイパースレッディングを無効にする方が効率的な場合があるからだ。

2.アドレス変換にCPUリソースを使い過ぎる

 仮想化ソフトウェアの「ハイパーバイザー」は、VMが利用する仮想メモリのアドレスを、物理メモリのアドレスに変換する。こうしたアドレス変換は、CPUリソースを消費しやすい。アドレス変換の結果、VMの処理速度が低下することは、よくある問題だ。

 CPUの仮想化支援機能「Second Level Address Translation」(SLAT)は、通常であればハイパーバイザーを介して実行するアドレス変換を、CPUが直接実行する技術。アドレス変換時のCPUリソース使用量を抑え、データの処理速度を向上させる。

 IntelはSLATを「Extended Page Tables」(EPT)、AMD(Advanced Micro Devices)は「Rapid Virtualization Indexing」(RVI)と呼ぶ。CPUでSLATを有効にするために、OSの起動を制御するBIOS(Basic Input/Output System)で設定する必要がある。

3.必要なvCPUを確保しない

 CPUの負荷が高いアプリケーションをVMで稼働させる場合は、仮想CPU(vCPU)の割り当てに気を付ける必要がある。アプリケーションによって、CPUリソースの要件は異なる。機能が単純なアプリケーションは1個のvCPUで正常に動作するとしても、データベース管理システム(DBMS)やメールサーバなど、集約的なアプリケーションは、4個以上のvCPUを必要とする場合がある。

 必要なvCPUの数を計算するために、まずはアプリケーションが必要とするCPUの数と、同じ数のvCPUを割り当てる。例えばアプリケーションが2個のCPUを必要とする場合は、2個のvCPUを割り当てて動作を監視し、追加のvCPUが必要かどうかを判断する。処理負荷が特に高い場合は、異なるコアのvCPUを割り当てて負荷分散を図る。


 第4回は、IntelとAMD、IBMが提供する、VMに適したCPUを紹介する。

TechTarget発 先取りITトレンド

米国TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る