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
© Copyright 2024 Paperzz