Red Hat Enterprise Linux 6 仮想化のチューニングと最適化ガイド

Red Hat Enterprise Linux 6
仮想化のチューニングと最適化ガイ
ド
仮想環境を最適化する
エディッション 0.3
Scott Radvan
Red Hat Enterprise Linux 6 仮想化のチューニングと最適化ガイド
仮想環境を最適化する
エディッション 0.3
Sco tt Radvan
Red Hat, Inc. Engineering Co ntent Services
sradvan@redhat.co m
法律上の通知
Copyright © 2013 Red Hat, Inc.
T his document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported
License. If you distribute this document, or a modified version of it, you must provide attribution to Red
Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be
removed.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section
4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, MetaMatrix, Fedora, the Infinity Logo,
and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux ® is the registered trademark of Linus T orvalds in the United States and other countries.
Java ® is a registered trademark of Oracle and/or its affiliates.
XFS ® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States
and/or other countries.
MySQL ® is a registered trademark of MySQL AB in the United States, the European Union and other
countries.
Node.js ® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or
endorsed by the official Joyent Node.js open source or commercial project.
T he OpenStack ® Word Mark and OpenStack Logo are either registered trademarks/service marks or
trademarks/service marks of the OpenStack Foundation, in the United States and other countries and
are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or
sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
概要
Red Hat Enterprise Linux 仮想化のチューニングと最適化ガイドでは、 KVM および仮想化のパフォーマン
スについて解説しています。 KVM パフォーマンス機能やオプションをホストとなるシステムやゲストと
なる仮想マシンにフル活用させるためのヒントや推奨事項などが記載されています。
目次
目次
.前書き
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4. . . . . . . . . .
1. 本書の表記規則
4
1.1. 書体の表記規則
4
1.2. 引用文の表記規則
5
1.3. 注記および警告
6
2. ヘルプの取得とフィードバックの提出
7
2.1. ヘルプが必要ですか?
7
2.2. フィードバックをお願いします
7
. . .1章
第
. . . .はじめに
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8. . . . . . . . . .
1.1. 本ガイドについて
8
1.2. 他の参考文献
8
1.3. KVM の概要
8
1.4. KVM のパフォーマンスについて
9
1.5. パフォーマンス関連の特長および改善点
9
. . .2章
第
. . . .Virt-manager
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
............
2.1. はじめに
11
2.2. オペレーティングシステムの詳細とデバイス
11
2.2.1. ゲスト仮想マシンの詳細を指定する
11
2.2.2. 未使用のデバイスを削除する
11
2.3. CPU パフォーマンスのオプション
12
2.3.1. オプション: 使用できる CPU
13
2.3.2. オプション: CPU 構造
13
2.3.3. オプション: CPU トポロジー
14
2.3.4. オプション: CPU の Pinning (固定)
14
. . .3章
第
. . . tuned
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
............
3.1. tuned と tuned-adm
16
. . .4.章
第
. . .ネットワーク
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
............
4.1. はじめに
18
4.2. ネットワーク調整のヒント
18
4.3. Virtio と vhost_net
18
4.4. デバイスの割り当てと SR-IOV
18
. . .5章
第
. . . .メモリー
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
............
5.1. はじめに
20
5.2. Huge pages および T ransparent huge pages
20
. . .6章
第
. . . .ブロック
. . . . . . . . .I/O
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
............
6.1. キャッシング
21
6.2. ブロック I/O 関連のコマンド
21
. . .7章
第
. . . .NUMA
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
............
7.1. メモリー割り当てのポリシー
22
7.2. libvirt の NUMA 調整
22
7.2.1. NUMA の VCPU pinning
22
7.2.2. ドメインプロセス
23
7.2.3. ドメインの vcpu スレッド
24
7.2.4. emulatorpin の使い方
24
7.2.5. virsh を使って vcpu の CPU pinning を調整する
24
7.2.6. virsh を使ってドメインプロセスの CPU pinning を調整する
25
1
Red Hat Enterprise Linux 6 仮想化のチューニングと最適化ガイド
7.2.7. virsh を使ってドメインプロセスのメモリーポリシーを調整する
25
. . .8章
第
. . . .パフォーマンス監視ツール
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
............
8.1. はじめに
26
8.2. perf kvm
26
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
改訂履歴
............
2
目次
3
Red Hat Enterprise Linux 6 仮想化のチューニングと最適化ガイド
前書き
1. 本 書 の 表 記 規 則
本ガイドでは、一部の単語や語句を強調して、特定の情報に対する読者の注意を促すために、以下のよう
な表記規則を採用しています。
本ガイドの PDF および紙書籍版では、Liberation フォントセットの書体を使用しています。また、
Liberation フォントセットがご使用のシステムにインストールされている場合には、HT ML 版もこの書体
で表示されます。インストールされていない場合には、別の対応する書体で表示されます。なお、Red
Hat Enterprise Linux 5 以降のバージョンでは、Liberation フォントセットがデフォルトでインストールさ
れる点に注意してください。
1.1. 書体の表記規則
本ガイドでは、特定の単語や語句に対する注意を促すために、4 つの書体表記規則を採用しています。こ
れらの表記規則および適用される状況は、以下のとおりです。
太字の等幅フォント
シェルコマンド、ファイル名、パスなど、システムへの入力を強調するために使用します。また、キー名
やキーの組み合わせを強調するのにも使用します。以下が例となります。
作業ディレクトリ内の m y_next_bestselling_novel というファイルの内容を表示する
には、シェルプロンプトで cat m y_next_bestselling_novel というコマンドを入力し
て Enter キーを押し、そのコマンドを実行します。
上記の例には、ファイル名、シェルコマンド、キー名が含まれており、すべて太字の等幅フォントで表示
されていますが、文脈で区別することができます。
キーの組み合わせは、プラス記号 (+) で各キーがつながれているので、個別のキーと区別することができ
ます。以下が例となります。
Enter を押してコマンドを実行します。
Ctrl+Alt+F2 を押して仮想ターミナルに切り替えます。
第 1 の例では、押すべき特定のキー名が強調されています。第 2 の例では、3 つのキーを同時に押す、
キーの組み合わせが強調されています。
ソースコードを記載する場合、その段落で言及されるクラス名、メソッド、関数、変数名、戻り値は上記
のように 太字の等幅フォント で表示されます。以下が例となります。
ファイル関連のクラスには、filesystem (ファイルシステム)、file (ファイル)、dir
(ディレクトリ) などがあります。各クラスにそれぞれ独自のパーミッションセットが関連付
けられています。
太字の可変幅フォント
この書体は、アプリケーション名、ダイアログボックスのテキスト、ラベル付きボタン、チェックボック
ス/ラジオボタンのラベル、メニュータイトル、サブメニュータイトルなど、システムで表示される単語や
語句であることを示します。以下が例となります。
メインメニューバーから システム → 設定 → マウス の順で選択し、マウスの設定 を起動
します。全般 タブで 左利き のラジオボタンを選択して 閉じる をクリックし、マウスの主
4
前書き
ボタンを左から右へ切り替えます (左利きのユーザーが使用するのに適切な設定に変更しま
す)。
gedit ファイルに特殊文字を入力するには、メインのメニューバーから アプリケーション
→ アクセサリ → 文字マップ の順に選択します。次に 文字マップ のメニューバーから 検
索 → 検索 … の順に選択して 検索 フィールドに文字名を入力し、次を検索 をクリックしま
す。検索対象の文字が 文字テーブル に強調表示されます。その文字をダブルクリックして
コピーする文字列 のフィールドに表示されたら、コピー ボタンをクリックします。この後
に編集中のドキュメントに戻り、gedit のメニューバーから 編集 → 貼り付け の順で選択し
ます。
上記のテキストには、アプリケーション名、システム全体のメニュー名と項目、アプリケーション固有の
メニュー名、GUI インターフェースで使用されているボタンおよびテキストが含まれており、これらはす
べて、太字の可変幅フォントで表示されていますが、文脈で区別することができます。
太字斜体の等幅フォント または 太字斜体の可変幅フォント
太字の等幅フォントおよび太字の可変幅フォントに斜体を使用した場合には、いずれも置き換え可能な可
変テキストであることを意味します。斜体は、記載されている通りには入力しないテキスト、あるいは状
況によって変化するテキストを示します。以下が例となります。
ssh を使用してリモートマシンに接続するには、シェルプロンプトで ssh
username@ domain.name と入力します。リモートマシンが exam ple.com で、そのマシン
上のユーザー名が john である場合には、ssh john@ exam ple.com と入力してください。
m ount -o rem ount file-system のコマンドは、指定したファイルシステムを再マウン
トします。たとえば、/hom e ファイルシステムを再マウントするコマンドは m ount -o
rem ount /hom e となります。
現在インストール済みのパッケージのバージョンを確認するには、rpm -q package のコマ
ンドを使用します。その結果、次のような出力が返されます: package-version-release
ユーザー名、ドメイン名、ファイルシステム、パッケージ、バージョン、およびリリースが太字のイタ
リック体で表示されている点に注意してください。これらの語句はプレースホルダーで、コマンドを発行
する際に入力するテキストまたはシステムによって表示されるテキストのいずれかです。
斜体は、著作物のタイトルを表すという標準的な用途の他に、重要な用語の初出時にも使用されます。以
下が例となります。
Publican は DocBook の出版システムです。
1.2. 引用文の表記規則
端末の出力とソースコードは、周囲のテキストとは視覚的に区切られて表示されます。
端末に送信される出力は、ローマン体の等幅フォント を使用して以下のように表示されます。
books
books_tests
Desktop
Desktop1
documentation
downloads
drafts
images
mss
notes
photos
scripts
stuff
svgs
svn
ソースコードの表示にも ローマン体の等幅フォント が使用されますが、以下のような構文強調表示が追
加されます。
5
Red Hat Enterprise Linux 6 仮想化のチューニングと最適化ガイド
static int kvm_vm_ioctl_deassign_device(struct kvm *kvm,
struct kvm_assigned_pci_dev *assigned_dev)
{
int r = 0;
struct kvm_assigned_dev_kernel *match;
mutex_lock(&kvm->lock);
match = kvm_find_assigned_dev(&kvm->arch.assigned_dev_head,
assigned_dev->assigned_dev_id);
if (!match) {
printk(KERN_INFO "%s: device hasn't been assigned before, "
"so cannot be deassigned\n", __func__);
r = -EINVAL;
goto out;
}
kvm_deassign_device(kvm, match);
kvm_free_assigned_device(kvm, match);
out:
mutex_unlock(&kvm->lock);
return r;
}
1.3. 注記および警告
本ガイドでは、見落としがちな情報に注意を促すために、次にあげる 3 つの視覚的スタイルを使用してい
ます。
注記
注記には、対象のタスクに関するヒント、ショートカット、その他のアプローチなどを記載してい
ます。注記を無視しても、悪影響はありませんが、作業を効率的に行うためのコツを見逃してしま
う可能性があります。
重要
重要の欄には、現行セッションのみに適用される設定の変更や、更新を適用するのに再起動が必要
なサービスなど、見落としがちな情報を記載しています。「重要」と記載された事項を無視して
も、データ損失などには至りませんが、作業が思ったようにスムーズに進まなくなる可能性があり
ます。
警告
警告は、無視しないでください。警告を無視すると、データ損失が発生する可能性が非常に高くな
ります。
6
前書き
2. ヘ ル プ の 取 得 と フ ィ ー ド バ ッ ク の 提 出
2.1. ヘルプが必要ですか?
本文に説明してある手順で問題に遭遇した場合は、Red Hat カスタマーポータル
(http://access.redhat.com)をご覧ください。カスタマーポータルでは以下を行うことができます。
Red Hat 製品に関する技術的なサポートの記載をナレッジベースで検索、閲覧することができます。
サポートケースを Red Hat グローバルサポートサービス(GSS)に提出することができます。
他の製品ドキュメントを参照することができます。
また、Red Hat は Red Hat のソフトウェアやテクノロジーに関するディスカッションの場として多くの
メーリングリストをホストしています。公開されているメーリングリストについて
はhttps://www.redhat.com/mailman/listinfoで一覧を参照してください。メーリングリストをサブスクライ
ブする、またはメーリングリストのアーカイブを参照する場合はそのメーリングリスト名をクリックしま
す。
2.2. フィードバックをお願いします
本文に誤植を見つけられた場合や本文に関する改善案をお持ちの場合はぜひお知らせください。Bugzilla
(http://bugzilla.redhat.com/)にて、該当する製品Red Hat Enterprise Linux 6.に対しバグ報告をお願いい
たします。
バグ報告を提出される場合は、ドキュメントの識別子となるdocVirtualization_Tuning_and_Optimization_Guideを忘れずに添えてください。
ドキュメントに関する改善のご意見については、できるだけ具体的にお願いいたします。誤りを発見され
た場合は、セクション番号および該当部分の前後の文章も含めてご報告頂くと照合が容易になります。
7
Red Hat Enterprise Linux 6 仮想化のチューニングと最適化ガイド
第 1章 はじめに
1.1. 本 ガ イ ド に つ い て
Red Hat Enterprise Linux 仮想化のチューニングと最適化ガイドでは、 Red Hat Enterprise Linux ホスト
およびゲスト仮想マシンの最適なパフォーマンスを得るため設定できるオプション、 セッティング、 推
奨事項などについて詳しく解説しています。
本ガイドは次のようなセクションで構成されています。
Virt-manager
tuned
ネットワーク
メモリー
ブロック IO
NUMA
パフォーマンス監視ツール
1.2. 他 の 参 考 文 献
今お読み頂いている本ガイドでは仮想環境のチューニングと最適化に焦点を置いていますが、 本ガイド以
外にも Red Hat では仮想化関連のガイドを提供しています。
次のようなガイドもご参照ください、
https://access.redhat.com/knowledge/docs/Red_Hat_Enterprise_Linux/。
仮想化スタートガイド
仮想化の概念やその利点、 ツール関連などを解説している他、 Red Hat が提供している仮想化関
連のドキュメントや製品などの概要についても触れています。
仮想化ホスト設定およびゲストインストールガイド
仮想化ソフトウェアのインストール方法、 および仮想化ホストでのゲストマシンの設定方法につい
て解説しています。
仮想化管理ガイド
ホスト、 ネットワーク、 ストレージ、 デバイス、 ゲストなどを管理する方法、 virt-manager ま
たは virsh の使い方などの他、 libvirt や qemu やトラブルシューティングについても触れていま
す。
仮想化セキュリティガイド
Red Hat で提供している仮想化の安全性に関する技術についての要約です。 また、 仮想化した環
境下で、 ホストやゲスト、 共有インフラ、 共有リソースなどを保護するための推奨事項について
も記載されています。
V2V ガイド
Red Hat Enterprise Virtualization 以外のハイパーバイザーから Red Hat Enterprise Virtualization
に仮想マシンをインポートする方法について解説しています。
Hypervisor 導入ガイド
Red Hat Enterprise Virtualization Hypervisor の取得、 導入、 設定について解説しています。
1.3. KVM の 概 要
KVM の構造を以下に図解します。
8
第1章 はじめに
1.4. KVM の パ フ ォ ー マ ン ス に つ い て
KVM はシステムのパフォーマンスやプロセス、 スレッドの管理に関連するため、 以下に概要を示しま
す。
KVM を使用する場合、 ゲストはホスト上の Linux プロセスとして実行されます。
仮想 CPU は通常のスレッドとして実装され、 Linux スケジューラで処理されます。
ゲストは NUMA や Huge Pages などのようにカーネルから機能を継承します。
ホスト内でのディスクおよびネットワーク I/O の設定はパフォーマンスに多大な影響を与えます。
ネットワークトラフィックは一般的にはソフトウェアベースのブリッジを通過します。
1.5. パ フ ォ ー マ ン ス 関 連 の 特 長 お よ び 改 善 点
CPU/カーネル
NUMA - Non-Uniform Memory Access、 詳細は 7章NUMA を参照してください。
CFS - Completely Fair Scheduler、 クラスに焦点を置いた新しいスケジューラです。
RCU - Read Copy Update、 共有スレッドのデータの処理が向上しています。
仮想 CPU (vCPU) の最大数は 160 になります。
メモリー
Huge Pages およびメモリー集約的環境での各種の最適化、 詳細は 5章メモリー を参照してくだ
さい。
ネットワーク
vhost-net - カーネルベースの高速 virtIO ソリューション
SR-IOV - ネイティブに近いネットワークパフォーマンスのレベル向け
ブロック I/O
AIO - 他の I/O 動作にオーバーラップするスレッドのサポート
MSI - PCI バスデバイス割り込み生成
Scatter Gather - データのバッファ処理のため改善された I/O モード
9
Red Hat Enterprise Linux 6 仮想化のチューニングと最適化ガイド
注記
仮想化に関するサポート、 制約、 特長などの詳細については、 Red Hat Enterprise Linux 6 仮想
化スタートガイド および以下の URL を参照してください。
http://www.redhat.com/resourcelibrary/articles/enterprise-linux-virtualization-support
http://www.redhat.com/resourcelibrary/articles/virtualization-limits-rhel-hypervisors
10
第2章 Virt-manager
第 2章 Virt-manager
2.1. は じ め に
本章では、 ゲスト仮想マシンの管理を目的としたデスクトップツールとなる virt-manager のパフォーマ
ンス関連のオプションについて見ていきます。
2.2. オ ペ レ ー テ ィ ン グ シ ス テ ム の 詳 細 と デ バ イ ス
2.2.1. ゲスト仮想マシンの詳細を指定する
virt-manager ツールでは、 新規のゲスト仮想マシンに選択するオペレーティングシステムの種類やバー
ジョンによって異なるプロファイルを提供します。 ゲストを作成する際は、 できるだけ詳細な情報を入
力するようにしてください。 特定タイプのゲストに利用できる機能を有効にすることでパフォーマンスを
向上させることができます。
新しいゲスト仮想マシンを作成する際は、 必ずオペレーティングシステムのタイプとバージョンを指定し
てください。 以下に virt-manager ツールの画面を示します。
図 2.1 OS の種類とバージョンを指定する
2.2.2. 未使用のデバイスを削除する
未使用や不要なデバイスを削除することでパフォーマンスが向上する場合があります。 たとえば、 Web
サーバーとして稼働させることを目的としたゲストの場合、 オーディオ機能や接続タブレットなどは必要
とされることはあまりありません。
削除ボタンをクリックして不要なデバイスを削除します。 以下に virt-manager ツールの画面を示しま
す。
11
Red Hat Enterprise Linux 6 仮想化のチューニングと最適化ガイド
図 2.2 未使用のデバイスを削除する
2.3. CPU パ フ ォ ー マ ン ス の オ プ シ ョ ン
ゲスト仮想マシンに設定できる CPU 関連のオプションがいくつかあります。 正しく設定することによ
り、 パフォーマンスに大きな影響を与えることができます。 ゲストに対して利用できる CPU オプション
を以下に示します。 このセクションでは、 以下に示すオプションがもたらす影響について見ていきま
す。
12
第2章 Virt-manager
図 2.3 CPU パフォーマンスのオプション
2.3.1. オプション : 使用できる CPU
このオプションでゲストが使用できる仮想 CPU 数を調整します。 ホストで使用可能な数以上の CPU 数
を割り当てると (オーバーコミット と呼ばれる)、 以下のような警告が表示されます。
図 2.4 CPU のオーバーコミット
警告
CPU のオーバーコミットはパフォーマンスに悪影響をもたらす場合があります。 詳細については
Red Hat Enterprise Linux 6 仮想化管理ガイド の 「KVM でオーバーコミットを行なう」を参照し
てください。
2.3.2. オプション : CPU 構造
このオプションで目的の CPU モデルに応じた CPU 構造タイプを選択します。 一覧を表示して使用でき
るオプションから選択するか、 ホストの CPU構造をコピー (Copy host CPU configuration) ボタンをク
13
Red Hat Enterprise Linux 6 仮想化のチューニングと最適化ガイド
リックしてホストの物理的な CPU モデルと構造を検出させ適用します。 CPU 構造を選択すると、 それ
に応じた CPU 機能と指示が表示され、 CPU 機能 (CPU Features) の一覧で別々に有効にしたり無効にし
たりすることができます。 例を以下に示します。
図 2.5 CPU 構造のオプション
注記
手動で選択するより、 ホストの CPU 構造をコピーすることをお勧めします。
2.3.3. オプション : CPU トポロジー
このオプションでゲスト仮想マシンの仮想 CPU に特定の CPU トポロジーを適用します (ソケット、 コ
ア、 スレッドなど)。 以下に例を示します。
図 2.6 CPU トポロジーのオプション
注記
環境によっては要件が異なることもありますが、 ソケット数を選択する場合、 コア、 スレッドい
ずれもひとつのみにした方が一般的には最善のパフォーマンスとなります。
2.3.4. オプション : CPU の Pinning (固定 )
システム固有の NUMA トポロジーに合わせると大幅なパフォーマンスの改善が見られます。 このオプ
ションでホストに有効となる Pinning 構成を自動的に作成します。
14
第2章 Virt-manager
図 2.7 CPU Pinning
警告
ゲストに単一 NUMA ノードを越える数の VCPU 数を持たせている場合は、 このオプションは使用
しないでください。
Pinning オプションを使用すると、 ゲストの VCPU スレッドが単一の NUMA ノードに制約されます。 た
だし、 その NUMAノード内でのスレッドの移動は可能です。 制約の機能を強化させる場合は、 lscpu コ
マンドからの出力を使用し、 virsh cpupin で 1:1 の物理 CPU と VCPU の結び付けを作ります。
NUMA と CPU Pinning については 7章NUMA を参照してください。
15
Red Hat Enterprise Linux 6 仮想化のチューニングと最適化ガイド
第 3章 tuned
3.1. tuned と tuned-adm
T uned は、 システムの各種コンポーネントの使用量に関するデータを監視、 収集し、 その情報を使って
必要に応じてシステム設定を動的に調整するデーモンです。 CPU やネットワークの使用量の変化に反応
し、 使用中のデバイスのパフォーマンスを高めたり、 使用していないデバイスの電力消費を節約したり
するため設定を調整することができます。
T uned に付随する ktune は tuned-adm ツールとともに、 事前設定されたチューニングプロファイルを
提供します。 特定のユースケースでパフォーマンスを強化し、電力消費量を抑制します。 プロファイル
を編集したり、 新規のプロファイルを作成したりすることで、 環境に適したパフォーマンスソリュー
ションを作り出すことができます。
tuned-adm の一部として提供される仮想化関連のプロファイルには、以下のものがあります。
virtual-guest
enterprise-storage プロファイルをベースとしています。 virtual-guest でも仮想メモ
リーの swap を低減します。 このプロファイルは Red Hat Enterprise Linux 6.3 以降よりご利用
頂けます。 ゲストマシン向けに推奨されるプロファイルです。
virtual-host
enterprise-storage プロファイルをベースとしています。 virtual-host でも仮想メモリー
の swap を低減し、 ダーティーページのより積極的なライトバックを可能にします。 このプロ
ファイルは Red Hat Enterprise Linux 6.3 以降よりご利用頂けます。 KVM ホストや Red Hat
Enterprise Virtualization ホストなど、 仮想化ホスト向けに推奨されるプロファイルです。
以下のコマンドを使用して tuned パッケージと関連の systemtap スクリプトをインストールします。
yum install tuned
tuned パッケージをインストールすると、 /etc/tuned.conf にサンプルの設定ファイルが設定され、
デフォルトのプロファイルがアクティベートされます。
以下を実行して tuned を開始します。
service tuned start
マシンを起動する度に tuned が開始されるよう以下を実行します。
chkconfig tuned on
利用可能な全プロファイルを一覧表示して、 現在アクティブなプロファイルを特定するため以下を実行し
ます。
tuned-adm list
現在アクティブなプロファイルだけを表示する場合は、 以下を実行します。
tuned-adm active
16
第3章 tuned
別のプロファイルに切り替える場合は、 以下を実行します。
tuned-adm profile profile_name
例えば以下のとおりです。
tuned-adm profile virtual-host
全てのチューニングを無効にする場合は、 以下を実行します。
tuned-adm off
注記
tuned、 tuned-adm、 ktune の詳細については、 Red Hat Enterprise Linux 6 電力管理ガイド
(http://access.redhat.com/knowledge/docs/Red_Hat_Enterprise_Linux/) を参照してください。
17
Red Hat Enterprise Linux 6 仮想化のチューニングと最適化ガイド
第 4章 ネットワーク
4.1. は じ め に
本章では、 仮想化した環境におけるネットワークの最適化について説明しています。
4.2. ネ ッ ト ワ ー ク 調 整 の ヒ ン ト
単一ネットワークでのトラフィック混雑を避けるため複数のネットワークを使用します。 たとえば、
管理専用のネットワーク、 バックアップ専用のネットワーク、 ライブ移行専用のネットワークなどを
設けます。
通常は、 すべてのコンポーネントでデフォルトの MT U (1500 バイト) に合わせれば十分でしょう。
大量のメッセージを必要とする場合は、 MT U 値を上げると断片化を軽減することができます。 MT U
を変更する場合は、 パス内の全デバイスをその MT U 値に合わせてください。
arp_filter を使用して ARP 変動を防ぎます。 ARP 変動はホスト、 ゲストいずれでも発生する可能性の
ある望ましくない状況で、 マシンが ARP 要求に対して複数のネットワークインターフェースから応答
してしまう原因となります。 この設定を永続的にするため、 echo 1 >
/proc/sys/net/ipv4 /conf/all/arp_filter を行なうか、 /etc/sysctl.conf の編集をし
てください。
注記
ARP 変動に関する詳細は、 次の URL http://linux-ip.net/html/ether-arp.html#ether-arp-flux を参照し
てください。
4.3. Virtio と vhost_net
virtio と vhost_net の構造におけるカーネルの位置付け示します。
vhost_net では virtio ドライバーの一部をユーザー領域からカーネルに移動しています。 これによりコ
ピー動作が減り、 待ち時間と CPU 使用量が低減されます。
4.4. デ バ イ ス の 割 り 当 て と SR-IOV
デバイス割り当てと SR-IOV の構造におけるカーネルの位置付けを示します。
18
第4章 ネットワーク
デバイス割り当てでは、 ゲストからデバイス全体が見えます。 SR-IOV では、 NIC やシステムボードなど
ドライバーやハードウェアのサポートを必要とします。 複数の仮想デバイスを作成することが可能なため
それぞれ別々のゲストに渡すことができます。 ゲスト内に製造元固有のドライバーが必要になりますが、
SR-IOV はあらゆるネットワークオプションの中でも最小の待ち時間を実現します。
19
Red Hat Enterprise Linux 6 仮想化のチューニングと最適化ガイド
第 5章 メモリー
5.1. は じ め に
本章では、 仮想化した環境におけるメモリーの最適化オプションについて説明しています。
5.2. Huge pages お よ び Transparent huge pages
通常、 x86 CPU は 4kB ページ単位でメモリーに対応しますが、 huge pages とも言われる大容量ページ
を使用することも可能です。 T LB (T ransaction Lookaside Buffer) に対して CPU キャッシュの使用を増
加させてパフォーマンスを向上させる場合、 huge page メモリー対応で KVM のゲストを導入することが
できます。
Red Hat Enterprise Linux 6 ではデフォルトでカーネル機能が有効になっているため、 huge pages によ
り特に大容量メモリーおよびメモリー集約型の負荷に対してパフォーマンスを大幅に向上させることがで
きます。 Red Hat Enterprise Linux 6 では、 huge pages を使用することでページサイズを増加させ、よ
り効率的な大容量メモリーの管理が可能になります。
ゲストの XML 設定を追加:
<memoryBacking>
<hugepages/>
</memoryBacking>
現在の huge pages の値を確認:
cat /proc/sys/vm/nr_hugepages
cat /proc/meminfo | grep Huge
huge pages 数の設定:
echo xyz > /proc/sys/vm/nr_hugepages
注記
/etc/sysctl.conf 内の vm.nr_hugepages の値を変更すると設定が永続的になります。
huge pages はホストだけでなくゲストにとっても便利ですが、 合計ページ数は必ずホスト内で利用でき
るページ数より少なくしてください。
空きメモリーをすべてキャッシュとして使用できるようにするとパフォーマンスが向上します。
/sys/kernel/m m /redhat_transparent_hugepage/enabled を always に設定すると、
T ransparent Hugepages がデフォルトで使用されます。
T ransparent Hugepage のサポートで hugetlbfs の使用が妨げられることはありません。 ただし、
hugetlbfs を使用しない場合、 KVM では通常の 4kb ページサイズではなくT ransparent hugepages が使
用されます。
20
第6章 ブロック I/O
第 6章 ブロック I/O
6.1. キ ャ ッ シ ン グ
表 6.1 キャッシングのオプション
キャッシングオプション
詳細
Cache=none
ゲストからのI/O はホストではキャッシュされませ
んが、ライトバックディスクキャッシュに保持す
ることができます。 大量 I/O 要求が多いゲストに
はこのオプションを使用します。 一般的にこのオ
プションが最適で移行に対応する唯一のオプショ
ンとなります。
Cache=writethrough
ゲストからの I/O はホストにはキャッシュされま
せんが、 物理的な媒体に書き込むことができま
す。 このモードを使用すると速度の低下が見ら
れ、 またゲスト数の規模が一定以上になると問題
が発生する傾向にあります。 I/O 要求が低い小規
模のゲスト群への使用に適しています。 ゲスト移
行の必要性がなく、 ライトバックキャッシュに対
応していないゲストに推奨されるモードです(Red
Hat Enterprise Linux 5.5 以前)。
Cache=writeback
ゲストからの I/O がホストにキャッシュされま
す。
キャッシングのモードは、 virt-manager の 仮想ディスク (Virtual Disk) のセクションで選択することが
できます。 以下に示すように、 パフォーマンス (Performance options) でキャッシュモードを選択しま
す。
図 6.1 キャッシングモード
6.2. ブ ロ ッ ク I/O 関 連 の コ マ ン ド
ブロックディスクのパラメータの設定、 表示、 クエリーを行なう場合は、 blkiotune コマンドと
blkdeviotune コマンドを使用します。 詳細については virsh の man ページを参照してください。
21
Red Hat Enterprise Linux 6 仮想化のチューニングと最適化ガイド
第 7章 NUMA
従来の x86 システムでは、 メモリーはすべて均等に全 CPU からアクセスできるようになっていました。
どの CPU が動作を実行するかに関わらず、 UMA (Uniform Memory Access) と呼ばれるアクセスタイムは
同じになります。
最近の x86 プロセッサでは、 この動作が異なってきています。 NUMA (Non-Uniform Memory Access) で
は、 システムのメモリーが複数のゾーンに区分けされ (ノード と呼ばれる)、 特定の CPU やソケットに
割り当てられます。 CPU に対してローカルとなるメモリーへのアクセスが、 そのシステムのリモート
CPU に接続しているメモリーに比べて速くなります。
7.1. メ モ リ ー 割 り 当 て の ポ リ シ ー
システム内のノードからどのようにメモリーを割り当てるのかは 3 つのポリシーで定義されます。
Strict
目的のノードにメモリーを割り当てられない場合、 他のノードにフォールバックするのが割り当
てのデフォルト動作になります。 Strict ポリシーでは、 目的のノードにメモリーを割り当てられ
ない場合は割り当てに失敗することになります。
Interleave
メモリーページはノードマスクで指定された複数のノード全体に割り当てられますが、 割り当て
はラウンドロビン方式で行なわれます。
Preferred
単一の優先メモリーノードからのみメモリーの割り当てが行なわれます。 十分なメモリーが使用
できない場合には、 他のノードからメモリーを割り当てることができます。
XML 設定で目的のポリシーを有効にします。
<numatune>
<memory mode='preferred' nodeset='0'>
</numatune>
7.2. libvirt の NUMA 調 整
7.2.1. NUMA の VCPU pinning
以下の XML 設定例では、 ドメインプロセスが物理 CPU 0 から 7 に固定されています。 vCPU スレッド
はそれ自体の cpusetに固定されています。 たとえば、 vCPU0 は物理 CPU0 に、 vCPU1 は物理 CPU 1
にといった具合に固定されています。
22
第7章 NUMA
<vcpu cpuset='0-7'>8</vcpu>
<cputune>
<vcpupin vcpu='0' cpuset='0'/>
<vcpupin vcpu='1' cpuset='1'/>
<vcpupin vcpu='2' cpuset='2'/>
<vcpupin vcpu='3' cpuset='3'/>
<vcpupin vcpu='4' cpuset='4'/>
<vcpupin vcpu='5' cpuset='5'/>
<vcpupin vcpu='6' cpuset='6'/>
<vcpupin vcpu='7' cpuset='7'/>
</cputune>
vcpu と vcpupin のタグ間には直接的な関係があります。 vcpupin オプションを指定しないと、 その値が
自動的に確定され親となる vcpu タグオプションから継承されます。 以下の設定には vcpu 5 の
<vcpupin> が足りません。 したがって、 vCPU5 は親タグの <vcpu>: で指定しているように物理 CPU の
0 から 7 に固定されます。
<vcpu cpuset='0-7'>8</vcpu>
<cputune>
<vcpupin vcpu='0' cpuset='0'/>
<vcpupin vcpu='1' cpuset='1'/>
<vcpupin vcpu='2' cpuset='2'/>
<vcpupin vcpu='3' cpuset='3'/>
<vcpupin vcpu='4' cpuset='4'/>
<vcpupin vcpu='6' cpuset='6'/>
<vcpupin vcpu='7' cpuset='7'/>
</cputune>
7.2.2. ドメインプロセス
Red Hat Enterprise Linux で規定されている通り、 libvirt ではドメインプロセスのメモリーバインディン
グのポリシー設定に libnuma を使用します。 このポリシーのノードセットは、 static (ドメイン XML に指
定) か auto (numad のクエリーで設定) のいずれかに設定することができます。 <numatune> タグ内にこ
のポリシーを設定する方法を以下の XML 設定例で示します。
<numatune>
<memory mode='strict' placement='auto'/>
</numatune>
<numatune>
<memory mode='strict' nodeset='0,2-3'/>
</numatune>
libvirt では、 sched_setaffinity(2) を使ってドメインプロセスの CPU バインディングポリシーを設定し
ます。 cpuset オプションは static (ドメイン XML で指定) か auto (numad のクエリーで設定) にすること
ができます。 <vcpu> タグ内にこのポリシーを設定する方法を以下の XML 設定例で示します。
<vcpu placement='auto' current='8'>32</vcpu>
<vcpu placement='static' cpuset='0-10,ˆ5'>8</vcpu>
<vcpu> および <numatune> に使用するモードの配置には暗黙的な継承ルールがあります。
<numatune> の配置モードでは <vcpu> と同じ配置モードにデフォルト設定されます。 または、
<nodeset> を指定した場合は static に設定されます。
23
Red Hat Enterprise Linux 6 仮想化のチューニングと最適化ガイド
同様に、 <vcpu> の配置モードでは <numatune> と同じ配置モードにデフォルト設定されます。 また
は、 <cpuset> を指定した場合は static に設定されます。
つまり、 ドメインプロセスのメモリー調整と CPU 調整は別々に指定、 定義することができますが、 互
いの配置モードに依存するよう設定することもできるということです。
注記
vcpu および numatune に関する詳細は、
http://libvirt.org/formatdomain.html#elementsCPUAllocation および
http://libvirt.org/formatdomain.html#elementsNUMAT uningを参照してください。
7.2.3. ドメインの vcpu スレッド
ドメインプロセスの調整の他、 libvirt では XML 設定内の vcpu の各スレッドに pinning ポリシーの設定を
行なうことができます。 設定は <cputune> タグ内で行ないます。
<cputune>
<vcpupin vcpu="0"
<vcpupin vcpu="1"
<vcpupin vcpu="2"
<vcpupin vcpu="3"
</cputune>
cpuset="1-4,ˆ2"/>
cpuset="0,1"/>
cpuset="2,3"/>
cpuset="0,4"/>
このタグでは、 libvirt は cgroup か sched_setaffinity(2) のいずれかを使って vcpu スレッドを指定
cpuset に固定しています。
注記
cputune の詳細については、 http://libvirt.org/formatdomain.html#elementsCPUT uning を参照して
ください。
7.2.4. emulatorpin の使い方
ドメインプロセスの pinning ポリシーを調整する別の方法として、 <cputune> 内で <emulatorpin> タグ
を使用する方法があります。 例を示します。
<cputune>
<emulatorpin cpuset="1-3"/>
</cputune>
7.2.5. virsh を使って vcpu の CPU pinning を調整する
重要
以下に示すのは説明を目的とした例に過ぎません。 実際には、 使用する環境に適した値を入力す
る必要があります。
以下の virsh コマンドの例では、 ID が 1 となる vcpu スレッド (rhel6u4) を物理 CPU 2 に固定していま
す。
24
第7章 NUMA
% virsh vcpupin rhel6u4 1 2
virsh コマンドでは、 現在の vcpu pinning 設定を取得することもできます。 例を示します。
% virsh vcpupin rhel6u4
7.2.6. virsh を使ってドメインプロセスの CPU pinning を調整する
重要
以下に示すのは説明を目的とした例に過ぎません。 実際には、 使用する環境に適した値を入力す
る必要があります。
emulatorpin オプションでは、 各ドメインプロセスに関連付けられたスレッドに CPU 親和性の設定を適
用します。 pinning を完了するには、 virsh vcpupin (前述) と virsh em ulatorpin の両方を各ゲ
ストに使用する必要があります。 例を示します。
% virsh emulatorpin rhel6u4 3-4
7.2.7. virsh を使ってドメインプロセスのメモリーポリシーを調整する
ドメインプロセスのメモリーは動的な調整が可能です。 次にコマンドの使用例を示します。
% virsh numatune rhel6u4 --nodeset 0-10
コマンドの詳細な使用例については、 virsh の man ページをご覧ください。
25
Red Hat Enterprise Linux 6 仮想化のチューニングと最適化ガイド
第 8章 パフォーマンス監視ツール
8.1. は じ め に
本章では、 ゲストの仮想マシン環境の監視に使用するツールについて見ていきます。
8.2. perf kvm
ホストからゲストのオペレーティングシステムの統計値を収集するには、 perf コマンドに kvm オプ
ションを付けて使用します。
Red Hat Enterprise Linux では、 perf パッケージで perf コマンドを提供しています。 rpm -q perf
を実行して perf パッケージがインストールされているか確認します。 インストールされていない場合
は、ゲストのオペレーティングシステムの統計値を収集して分析するため、 root ユーザーになり次のコマ
ンドを使用してこのパッケージをインストールします。
yum install perf
ホストで perf kvm を使用するには、 ゲストの /proc/m odules ファイルと /proc/kallsym s ファ
イルにアクセスできなければなりません。 これを行なうための方法が 2 種類あります。 ホストにファイ
ルを転送してからそのファイルで報告を実行する場合は、 手順8.1「ゲストの /proc ファイルをホストに
コピーする」 を参照してください。 ゲストを直接マウントしてそのファイルにアクセスする場合は、 手
順8.2「代替方法: sshfs を使ってファイルに直接アクセスする」 を参照してください。
手順 8.1 ゲストの /proc ファイルをホストにコピーする
重要
必要なファイルを /proc ディレクトリから直接コピーしても (scp などを使用)、 コピーしたファイ
ルは空になります。 本セクションでは、 まず、 ゲストのファイルを一時的な場所に保存し
(cat)、 その保存先からファイルをホストにコピーして、 perf kvm でのイベントの記録や報告
に使用する手順を説明しています。
1. ゲストにログインしてファイルを保存する
ゲストにログインして、 /proc/m odules と /proc/kallsym s を一時的な場所となる /tm p に
保存します。
# cat /proc/modules > /tmp/modules
# cat /proc/kallsyms > /tmp/kallsyms
2. 一時ファイルをホストにコピーする
ゲストからログオフしたら、 今度は次の例に示す scp コマンドを実行して一時的な場所に保存し
たファイルをホストにコピーします。 必要に応じてホスト名と T CP ポートをご使用の値に置き換
えてください。
# scp root@GuestMachine:/tmp/kallsyms guest-kallsyms
# scp root@GuestMachine:/tmp/modules guest-modules
これでゲストからの 2 つのファイル (guest-kallsym s と guest-m odules) がホスト上にコピー
され、 perf kvm で使用する準備が整いました。
26
第8章 パフォーマンス監視ツール
3. perf kvm でイベントの記録と報告を行なう
前述の手順で入手したファイルを使って、 ゲスト内のイベント、 ホスト内のイベントのいずれかま
たは両方を記録し報告を行なうことができるようになりました。
次のコマンドの例を実行します。
# perf kvm --host --guest --guestkallsyms=guest-kallsyms \
--guestmodules=guest-modules record -a -o perf.data
注記
--host と --guest の両方をコマンドに使用すると、 出力は perf.data.kvm というファ
イル名で保存されます。 --host だけを使用すると、 ファイル名は perf.data.host にな
ります。 同じように、 --guest だけを使用すればそのファイル名は perf.data.guest に
なります。
記録の動作を停止させる場合は Ctrl-C を押します。
4. イベントを報告する
記録のプロセスで取得したファイルを使って出力を新しいファイル「analyze」にリダイレクトす
る例を示します。
perf kvm --host --guest --guestmodules=guest-modules report -i perf.data.kvm
\
--force > analyze
記録したイベントを調べるため、 analyze ファイルの内容を表示させます。
# cat analyze
# Events: 7K cycles
#
# Overhead
Command Shared Object
Symbol
# ........ ............ ................. .........................
#
95.06%
vi vi
[.] 0x48287
0.61%
init [kernel.kallsyms] [k] intel_idle
0.36%
vi libc-2.12.so
[.] _wordcopy_fwd_aligned
0.32%
vi libc-2.12.so
[.] __strlen_sse42
0.14%
swapper [kernel.kallsyms] [k] intel_idle
0.13%
init [kernel.kallsyms] [k] uhci_irq
0.11%
perf [kernel.kallsyms] [k] generic_exec_single
0.11%
init [kernel.kallsyms] [k] tg_shares_up
0.10%
qemu-kvm [kernel.kallsyms] [k] tg_shares_up
[output truncated...]
手順 8.2 代替方法 : sshfs を使ってファイルに直接アクセスする
重要
以下に示すのは一例です。 使用環境に合わせて適した値に置き換えてください。
27
Red Hat Enterprise Linux 6 仮想化のチューニングと最適化ガイド
# Get the PID of the qemu process for the guest:
PID=`ps -eo pid,cmd | grep "qemu.*-name GuestMachine" \
| grep -v grep | awk '{print $1}'`
# Create mount point and mount guest
mkdir -p /tmp/guestmount/$PID
sshfs -o allow_other,direct_io GuestMachine:/ /tmp/guestmount/$PID
# Begin recording
perf kvm --host --guest --guestmount=/tmp/guestmount \
record -a -o perf.data
# Ctrl-C interrupts recording. Run report:
perf kvm --host --guest --guestmount=/tmp/guestmount report \
-i perf.data
# Unmount sshfs to the guest once finished:
fusermount -u /tmp/guestmount
28
改訂履歴
改訂履歴
改訂 0.3-4 8.2.4 00
2013-10-31
Landmann Rüdiger [FAMILY
Given]
T hu Jun 27 2013
Mizumoto Noriko [FAMILY
Given]
Wed Jun 5 2013
Cheng Chester [FAMILY
Given]
Rebuild with publican 4.0.0
改訂 0.3-4 8.2
翻訳および査読完了
改訂 0.3-4 8.1
翻訳ファイルを XML ソースバージョン 0.3-48 と同期
改訂 0.3-4 8
6.4 リリース向けバージョン
Mon Feb 18 2013
Radvan Scott [FAMILY Given]
改訂 0.3-4 7
表現を若干変更
Sun Feb 17 2013
Radvan Scott [FAMILY Given]
改訂 0.3-4 6
Sun Feb 17 2013
SME からのフィードバックを反映
Radvan Scott [FAMILY Given]
改訂 0.3-4 5
表現を若干変更
Radvan Scott [FAMILY Given]
Wed Feb 13 2013
改訂 0.3-4 4
Wed Feb 13 2013
Radvan Scott [FAMILY Given]
キャッシングモードに関する記載について SME からのフィードバックを反映
改訂 0.3-4 3
T ue Feb 12 2013
Radvan Scott [FAMILY Given]
SME からのフィードバックを反映、 全体的な用語の使用方法について
改訂 0.3-4 2
Mon Feb 11 2013
ドラフト版のステータスを削除
Radvan Scott [FAMILY Given]
改訂 0.3-4 1
Mon Feb 11 2013
Radvan Scott [FAMILY Given]
SME からのフィードバックによる変更、 警告の追加、 virt-manager の CPU pinning オプションの表現を
変更、 存在しない virsh コマンドへの参照を削除
改訂 0.3-4 0
マイナーな表現の問題
Fri Feb 8 2013
Radvan Scott [FAMILY Given]
改訂 0.3-39
Fri Feb 8 2013
<screen> タグのインデントを修正
Radvan Scott [FAMILY Given]
改訂 0.3-38
Fri Feb 8 2013
ビルド関連のエラーを修正 (BZ #908666)
Radvan Scott [FAMILY Given]
改訂 0.3-37
Radvan Scott [FAMILY Given]
Fri Feb 8 2013
29
Red Hat Enterprise Linux 6 仮想化のチューニングと最適化ガイド
libvirt の NUMA 調整のセクション
改訂 0.3-36
T hu Feb 7 2013
Radvan Scott [FAMILY Given]
パブリッシングツールチェーンの新バージョンで再ビルドを行ない警告の CSS エラーを修正
改訂 0.3-35
T hu Feb 7 2013
Radvan Scott [FAMILY Given]
各章の冒頭に概要を追記し、レイアウトを整備、 不足していたパラメータを含ませ vcpu の事例を改善
改訂 0.3-34
Mon Feb 4 2013
全 PNG に対して縮尺比を合わせ幅パラメータを追加
Radvan Scott [FAMILY Given]
改訂 0.3-33
Mon Feb 4 2013
virt-manager のスクリーンショットとオプションの説明
Radvan Scott [FAMILY Given]
改訂 0.3-32
T hu Jan 31 2013
Radvan Scott [FAMILY Given]
NUMA cpuset に関する SME からのフィードバックを追加、 開発者の意見を追加
改訂 0.3-31
T hu Jan 31 2013
ガイド全体で SR/IOV を SR-IOV に修正
Radvan Scott [FAMILY Given]
改訂 0.3-30
Wed Jan 30 2013
「モード」の表現を「ポリシー」に変更 (NUMA の章)
Radvan Scott [FAMILY Given]
改訂 0.3-29
Wed Jan 30 2013
NUMA メモリーモードの修正: BZ #854099
Radvan Scott [FAMILY Given]
改訂 0.3-28
T ue Jan 29 2013
QE からのフィードバックによる修正、 #754935
Radvan Scott [FAMILY Given]
改訂 0.3-27
T ue Jan 22 2013
Memory.xml 内、 huge pages に関する記載の表現を修正
Radvan Scott [FAMILY Given]
改訂 0.3-26
Mon Jan 21 2013
Radvan Scott [FAMILY Given]
CPU セクションを削除、 CPU pinning については NUMA のセクションで説明
改訂 0.3-25
Mon Jan 14 2013
カーネルの章を削除、 著作権年度を 2013 に更新
Radvan Scott [FAMILY Given]
改訂 0.3-24
Mon Jan 14 2013
Radvan Scott [FAMILY Given]
SME からのフィードバックをさらに追加、 ネットワークオプションおよび SR-IOV について
改訂 0.3-23
T hu Jan 3 2013
パブリッシング関連の問題を修正
Radvan Scott [FAMILY Given]
改訂 0.3-22
T hu Jan 3 2013
Radvan Scott [FAMILY Given]
SME からのフィードバックを追加、 numactl と numatune mpmp のノードセットについて
改訂 0.3-21
Fri Dec 14 2012
Radvan Scott [FAMILY Given]
SME からのフィードバックを追加、 hugetlbfs マウント、 numatune メモリーモードについて
30
改訂履歴
改訂 0.3-20
T hu Dec 06 2012
SME からのフィードバックを追加、 vcpu pinning について
Radvan Scott [FAMILY Given]
改訂 0.3-19
Mon Nov 12 2012
I/O 要件、 ゲスト数に関するキャッシングのオプションを記載
Radvan Scott [FAMILY Given]
改訂 0.3-18
検証エラーを修正
Mon Oct 29 2012
Radvan Scott [FAMILY Given]
改訂 0.3-17
Mon Oct 29 2012
ネスト化した一覧内のカーネルオプション
Radvan Scott [FAMILY Given]
改訂 0.3-16
誤字修正
T ue Oct 16 2012
Radvan Scott [FAMILY Given]
改訂 0.3-15
Mon Oct 15 2012
全体的に見出しを大文字に変更
Radvan Scott [FAMILY Given]
改訂 0.3-14
Sun Oct 14 2012
tuned セクションを追加し、 tuned-adm コマンドについて記載
Radvan Scott [FAMILY Given]
改訂 0.3-13
T ue Oct 2 2012
インフラストラクチャの変更、 誤字修正
Radvan Scott [FAMILY Given]
改訂 0.3-12
T ue Oct 2 2012
NUMA の要約とメモリーポリシーに関する記載を追加
Radvan Scott [FAMILY Given]
改訂 0.3-11
T ue Oct 2 2012
tuned-adm のプロファイルを拡張
Radvan Scott [FAMILY Given]
改訂 0.3-10
T ue Oct 2 2012
tuned-adm の表を追加 (後日、削除)
Radvan Scott [FAMILY Given]
改訂 0.3-9
T ue Oct 2 2012
Radvan Scott [FAMILY Given]
キャッシングに関する表、 一般的なネットワーク関連のヒントを追加
改訂 0.3-8
T hu Sep 27 2012
Radvan Scott [FAMILY Given]
代わりに KVM の概要およびネットワーク構築のイメージを追加、 「他の参考文献」のセクションを追加
改訂 0.3-7
誤字修正
Mon Sep 24 2012
Radvan Scott [FAMILY Given]
改訂 0.3-6
Wed Sep 19 2012
改行を入れて長いコマンドが正しく表示されるよう変更
Radvan Scott [FAMILY Given]
改訂 0.3-5
T ue Sep 18 2012
perf kvm の章を追加、 手順を記載
Radvan Scott [FAMILY Given]
31
Red Hat Enterprise Linux 6 仮想化のチューニングと最適化ガイド
改訂 0.3-4
Wed Sep 12 2012
Radvan Scott [FAMILY Given]
各章を具体的に肉付け、「パフォーマンス監視ツール」の章を追加
改訂 0.3-3
Wed Sep 12 2012
virt-manager の章を開始、 キャプチャした画面を追加
Radvan Scott [FAMILY Given]
改訂 0.3-2
ドラフト版
Radvan Scott [FAMILY Given]
Wed Sep 12 2012
改訂 0.3-1
Wed Sep 12 2012
Radvan Scott [FAMILY Given]
ガイドをレイアウトし、 基本となるインフラストラクチャ設定と ID
32