安装好Dynamips,开始使用了,却发现一运行它,你的电脑风扇就转个不停,查看CPU使用情况,dynamips.exe居然占用了100%。这是因为Dynamips不知道虚拟路由器什么时候处于空闲状态,什么时候处于使用状态,你不做处理的话,它就这么一直100%的占着。

解决方法和步骤:

计算idle-pc值,将这个值写入一个叫dynagenidledb.ini的文件中,以后运行Dynamips就不会占用CPU 100%了。

具体操作步骤:

  1. 打开一个lab,比如Sinmple1.net,telnet到一个正在运行的路由器,等待它初始化完毕
  2. 切换到Dynagen管理控制台(即Simple1.net运行后的命令窗口),输入命令:idlepc get routername,这里即是:idlepc get R1,然后将显示“Please wait while gathering statistics”
  3. 几秒钟后将会看到一个idle-pc值的统计列表,其中有一些是带*号的,选择一个带*号的,随便选择一个,输入对应的数值后回车
  4. 这个时候CPU占用应该马上就降低了,如果没有降低,输入idlepc show routername,重新选择一个,直到CPU降低
  5. 当你找到合适的idle-pc值后,再输入命令:idlepc save routername db,这里即是:idlepc save R1 db。这样在C:\Documents and Settings\%用户名%\下就生成了个dynagenidledb.ini的文件,以后打开此IOS对应的lab都会自动应用这个idle-pc值了。

注:dynagenidledb.ini文件的作用就是保存IOS映像文件的idle-pc值,如果要修改idle-pc值,删除dynagenidledb.ini文件即可。如果Dynagen启动一台虚拟路由器时没有发现对应的idle-pc值,它会给出“Starting routername with no idle-pc value”的告警信息。

关于idle-pc:idlepc命令协助分析正在运行的IOS映像文件,在执行代码中测定一个最有可能的点,在IOS中描绘一个空闲循环周期,一旦应用,Dynagen在空闲循环周期被执行的时候偶尔“休眠”虚拟路由器,以达到降低CPU消耗的目的,并且不会降低虚拟路由器的处理能力。

另外,Dynamips对内存的占用也是比较大的,一般都在100M以上,不过对于现在的电脑,1G以上的内存很普遍了,所以这个基本上不会有影响,如果你电脑的内存比较小,或者就是想把内存占用降低,那就找个内存释放软件用着。网上说的dynamips memory其实就是个内存释放工具。下载链接,链接直接无法下载,请使用迅雷。

[本文来自: 盆盆罐罐>> 解决Dynamips对CPU 100%占用问题,转载请注明。]