Dynamips パフォーマンスの調整 その1
ルータ数台程度のエミュレートであれば特に意識する必要はありませんが、CCIEラボ試験レベルの検証環境を作るときにはパフォーマンスの調整が必要です。主なパフォーマンスの調整について解説します。
Dynagen設定ファイル(.netファイル)のオプション
idlepc
エミュレートするルータに応じて適切なIdlepc値を指定することによって、Dynampisを稼働しているPCのCPU負荷を減少させることができます。
【idlepcの指定】
1. .netファイルを読み込んで、idlepc値を調べるルータのみを起動している状態にします。
2. Dynagen上で「idlepc get <ルータ名>」のコマンドを実行します。このコマンドにより、指定するべきidlepc値の候補が表示されます。
3. idlepc値を指定します。“*”が付いている値が推奨値です。上記の表示であれば、2、4、8のidlepc値が推奨値です。いずれかを選んでEnterキーを押せば該当のルータにidlepc値がセットされます。
“*”が付いている推奨値がない場合は、再び「idlepc get <ルータ名>」のコマンドを実行してください。
※”*”が付いている価が必ずしも最適なidlepc値ではないこともあります。
4. idlepc値をセットすれば、PCのCPU負荷が劇的に低下するはずです。もし、CPU負荷の低下が見られない場合は、別の値を試してください。別の値を試す場合は、Dynagen上で「idlepc show <ルータ名>」コマンドで再びidlepc値の候補を表示して選択します。
5. Dynagen上で「idlepc save <ルータ名>」コマンドで.netファイルの該当ルータの部分にidlepc値を保存することができます。.netファイルにidlepc値を保存すれば、次回以降は指定したidlepc値で起動し、CPU負荷を減少させることができます。
6. 同様の手順でエミュレートしているルータのidlepc値を指定します。なお、ルータのモデル、IOS、搭載しているネットワークインタフェースモジュールが同一であれば同じidlepc値が有効です。
ただし、Dynamipsを実行するPCが異なれば適切なidlepc値は異なるので注意してください。
【idlepc値の管理】
.netファイルにidlepc値を保存できます。記述する部分に応じて、idlepc値が適用されるルータの範囲が異なります。ルータのモデルの定義部分にidlepc値を記述すれば、該当モデルのルータに一括で適用されます。ルータの定義部分にidlepc値を記述すれば、該当のルータのみに適用されることになります。
ルータのモデル、IOS、ネットワークインタフェースモジュールを統一して、検証環境を作成しているときは、ルータの定義部分にidlepc値を記述する方が管理しやすくなります。
また、Dynagen上で「idlepc set <ルータ名> <idlepc>」コマンドでidlepc値を指定することもできます。
ghostios/sparsemem
.netファイル内でghostios/sparsememオプションを有効化すれば、PCのメモリの消費量を削減することができます。
ghostiosオプションを有効化すると、同じIOSを利用している仮想ルータは共通のIOSイメージを利用するようになるので、PCのメモリ消費量を削減することができます。
sparsememオプションを有効化すると、仮想ルータ用に定義されているメモリ消費量を削減することができます。
これらのオプションは.netファイル内のトップレベルやルータのモデル定義部分で指定します。