經過前兩篇的詳讀,您是否開始使用Dynmips Router Emulator呢?實際使用後我遇到2個問題:
1.如何將多顆Router依據Topology做連結?因為我們總不可能在單一顆Router上做LAB吧!
2.啟用一顆Router時CPU就會滿載,電腦效能急速下降,若依據第1項需求開啟多顆Router,那電腦要夠力,如四核心+4GB RAM+XP 64bit!

所以我們先解決第2項需求,確認手邊使用的電腦可以跑到4顆以上的Router後續再寫『依據Topology設定Router環境組態檔』 下列三圖中,於正式啟動Router:「P1R3」前我擷取了CPU狀態,此時Dynamips Server Services也已經啟動,透過工作管理員可以看出CPU負載還算正常,緊接著我僅啟動一台Router:「P1R3」並等待超過3分鐘,透過工作管理員中看到CPU的負載已經是全速在跑,且無法下降至正常值:
 



並且於Dynamips Runtime視窗中我們發現了一行及時訊息:【Warining: Starting R01 with no idle-pc value】,
在Dynamips官方的文件中對於idlepc參數的註解是這樣的:【--idle-pc : Set the idle PC (default: disabled)】 

【idlepc】說明:
設定Idlepc參數值在於防止Dynamips模擬器啟用、執行Router時耗用100%的CPU資源,且透過這項參數值有效控制「各型Router」的CPU負載,這意味著7200 Router的idlepc值是不能用於3640 Router上的,因為我試過了,如果把7200 Router的idlepc值套用於3640 Router上,那還是耗用了100%的CPU資源。所以不同型號的Router您就多費心多設定幾次吧!
那該如何正確取得Router idlepc參數值?較為正確的步驟如下:
1.啟動Dynamips Server 
2.啟動Dynagen以一顆Router為基礎即可,我建立了另一個暫時測試檔【Get_idlepc.NET】如下


3.啟動Router後,先Telnet至【R01】Router,讓Router IOS載入至【Press RETURN to get started!】然後將畫面停在這裡。


4.畫面切回到Dynagen裡,輸入【idlepc get R01】,依據您電腦的效能(有可能更久)約10~20秒後畫面會出現10組建議的Values值,值要選最大的喔!可以直接輸入數字,您會發現CPU負載馬上下降但這也是這次的結果,如果關掉Dynamips後,下次又要再來一次,非常不方便,所以可以輸入指令將這次的值直接存檔【idlepc save P01 db】,但是我比較建議直接寫在【Get_idlepc.NET】裡,這樣每次建立不同環境的xxxxxx.NET檔案,都可以直接套用。 



5.透過良好的參數設定,讓我的PC上直接開啟『15台3640 Router』但是CPU負載還滿少的,但是無法再繼續開啟New Router,因為<2G RAM>不夠用….Orz!以我的PC規格最多也只能開啟8台7200 Router就面臨Menory不足的窘境! 


最後,我花了一點時間測試出2691、3640、7200三款Router的idlepc表格分享給大家,節省大家測試的時間,紅色欄位代表我個人的建議值,並非每次測試的最大Value值。
<㊣>:7200 Router=0x607335f0 
<㊣>:3640 Router=0x605c8904 
<㊣>:2691 Router=0x607c2660 

最後節錄官方的英文說明供大家參考:
 --idle-pc : The "idle PC" feature allows you to run a router instance without having a 100% CPU load. This implies that you can run a larger number of instances per real machine. To determine the "idle PC", start normally the emulator with your Cisco IOS image, and a totally IOS empty configuration (although not mandatory, this will give better results). When the image is fully booted, wait for the "Press RETURN to get started!" message prompt, but do not press Enter key. Wait about 5 seconds, then press "Ctrl-] + i". Some statistics will be gathered during 10 seconds. At the end, the emulator will display a list of possible values to pass to the "--idle-pc" option. You may have to try some values before finding the good one. To check if the idle PC value is good, just boot the Cisco IOS image, and check your CPU load when the console prompt is available. If it is low, you have found a good value, keep it preciously. 
Important remarks: ================== 
* An "idle PC" value is *specific* to a Cisco IOS image. You cannot boot a different IOS image without proceeding as described above. 
* Do not run the process while having the "autoconfiguration" prompt.

HarlemHsu 發表在 痞客邦 PIXNET 留言(0) 人氣()