解决 Dynamips 对 CPU 100% 占用问题

   Updated: 2012-07-12 00:37       解决 Dynamips 对 CPU 100% 占用问题无评论

安装好 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 其实就是个内存释放工具。下载链接,链接直接无法下载,请使用迅雷。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注