다이나밉스로 단 한 개의 가상 라우터라도 구동하면 데스크탑 CPU 점유율이 100%로 무조건 꽉차는 기현상이 발생합니다. 이를 해결하기 위한 방법을 소개합니다.
방법은 간단합니다. 아래 예와 같이 .net 파일에 한 줄만 추가해 주면 됩니다. 빨갛게 표시한 부분만 보세요.
참고로 이 .net 파일은 그냥 간단하게 한 예로 든 겁니다. 라우터 R1, R2가 시리얼 인터페이스로 Back to Back 연결된 간단한 형태입니다.
[localhost]
[[3640]]
image = I:\Cisco IOS\c3640-jk9o3s-mz.123-10.bin
ram = 128
idlepc = 0x60458c7c
[[ROUTER R1]]
model = 3640
s1/0 = R2 s1/0
[[ROUTER R2]]
model = 3640
idlepc라는 지시자를 이용한 것을 확인할 수 있습니다. 뒤에 붙는 숫자열을 어떻게 만들어 입력하느냐가 문제이죠.
이것 역시 방법은 간단합니다. 일단 C:\Program Files\Dynamips\dynamips-start.cmd 파일을 실행합니다. 최초 설치 시 바탕화면에 생성된 Dynamips Server 라는 바로가기 아이콘을 실행해도 됩니다. 그러면 아래와 같은 창이 뜨죠.

그리고 idlepc 지시자를 입력할 대상이 되는 .net파일을 조금 만져주어야 합니다.
아래와 같이 변경하세요. 이번에도 역시 빨간 부분을 주목하세요.
[localhost]
[[3640]]
image = I:\Cisco IOS\c3640-jk9o3s-mz.123-10.bin
ram = 128
[[ROUTER R1]]
console = 2001
model = 3640
s1/0 = R2 s1/0
[[ROUTER R2]]
console = 2002
model = 3640
console 지시자를 각 라우터 옵션을 정의한 곳에 하나씩 추가해 넣었습니다. 지시자 뒤의 숫자는 각 라우터에 콘솔로 접속할 수 있는 전용 포트번호를 할당한 겁니다. 위 내용대로라면 R1엔 2001번, R2엔 2002번 포트번호를 통해 접속할 수 있습니다.
특별히 Device에 콘솔포트 설정을 하지 않으면 기본포트인 2000 + 인스턴스 번호가 콘솔포트가 됩니다. Virtual router를 두 개 이상 띄우게 되면 인스턴스 번호는 0부터 1씩 증가합니다. 직접 각 인스턴스당 콘솔포트를 설정하기를 권장합니다.
제가 가장 즐겨 쓰는 프로그램인 putty를 이용하여 라우터에 터미널 접속해 보겠습니다. .net 파일에 console 지시자를 추가해 넣었으면 실행을 하고 putty로 아래와 같이 정보를 기입하여 접속합니다.
IP는 데스크탑 PC의 IP 또는 'localhost'로 입력하면 됩니다. 입력하고 바로 엔터를 치던가 아래의 Open 버튼을 누르면 접속됩니다.

라우터가 부팅되고 있네요. 아래처럼 대화형 환경 설정 메뉴를 호출한 것인가에 대해 물어보면 일단 no라고 대답하고 후딱 프리빌리지드 모드로 들어갑니다. ^^

프리빌리지드 모드로 들어왔으면 일단 <Ctrl>키와 <] >키를 동시에 눌러줍니다. 그 다음 <[>키만 눌러보세요.
참고로 MS에 기본적으로 내장된 텔넷 프로그램으로 접속하면 ctrl-]단축키에 의해 다른 화면으로 넘어가져서 안 됩니다. 그래서 여기서는 console 지시자 정보를 .net 파일에 추가해서 별도의 터미널 프로그램을 호출한 뒤 작업하는 겁니다.
그러면 최초로 띄웠던 다이나밉스 화면에 아래와 같은 내용이 나옵니다.

idlepc 지시자 뒤에 붙는 숫자열을 계산해 낼 수 있는 해법이 이 메뉴 안에 있습니다. 어떤 걸까요? ^^
바로 <i> 메뉴입니다. Determine an idling pointer counter 라고 나와 있죠.
그럼 이 <i> 메뉴를 먹이려면 어떻게 해야 할까요? 맨 밑에서 두 번째 줄에
^] - Send ^]
라는 설명이 있네요. 이건 컨트롤키와 <]>를 동시에 누르면 <i>키와 같은 값을 먹일 준비가 된다는 뜻입니다. 다시 라우터로 돌아와서 컨트롤키와 <]>를 동시에 눌러준 뒤 두 키에서 손을 뗀 다음 <i> 키를 단독으로 누릅니다. 그러면 값을 산출하는데 잠시 시간이 지난 뒤 아래와 같이 출력값이 나옵니다.

맨 아래의 Restart the emulator... 라고 나오는 부분에 나오는 값을 사용하면 됩니다.
0x60458c7c라고 나오는군요. 그럼 idlepc 지시자 뒤에 이 값을 추가해서 .net 파일 안에 넣어주면 끝입니다.
PC의 CPU 사양이 듀얼코어급 정도만 된다면 라우터가 일을 하지 않는 동안에는 CPU 점유율이 대체적으로로 10%이하에 머무는 효과가 날 것입니다. PC 사양 뿐만이 아니라 IOS 이미지 종류에 따라서도 점유율 정도가 조금씩 다릅니다. 그러므로 자신의 PC 사양에서 가볍게 돌릴 수 있는 이미지를 잘 찾아보는 것도 중요합니다.
수고하셨습니다. ^^