이 문서에서는 Cisco Catalyst 3750 Series 스위치의 CPU 사용률이 높은 원인을 설명합니다.Cisco 라우터와 마찬가지로 스위치는 show processes cpu 명령을 사용하여 CPU 사용률을 표시하여 CPU 사용률이 높은 원인을 식별합니다.그러나 Cisco 라우터와 스위치 간의 아키텍처 및 포워딩 메커니즘의 차이 때문에 show processes cpu 명령의 일반적인 출력은 크게 다릅니다.이 문서에서는 Catalyst 3750 Series 스위치에서 CPU 사용률이 높은 몇 가지 일반적인 증상에 대해서도 설명합니다.
이 문서에 대한 특정 요건이 없습니다.
이 문서의 정보는 Catalyst 3750 스위치를 기반으로 합니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.
문서 규칙에 대한 자세한 내용은 Cisco 기술 팁 표기 규칙을 참고하십시오.
CPU 패킷 처리 아키텍처를 살펴보고 높은 CPU 사용률을 트러블슈팅하기 전에 하드웨어 기반 포워딩 스위치와 Cisco IOS® 소프트웨어 기반 라우터가 CPU를 사용하는 다양한 방법을 이해해야 합니다.일반적으로 CPU 사용률이 높으면 디바이스의 리소스가 고갈되고 충돌이 발생할 위험이 있음을 나타냅니다.용량 문제는 Cisco IOS 라우터에서 CPU 사용률이 높은 증상의 하나입니다.그러나 용량 문제는 하드웨어 기반 포워딩 스위치로 인해 CPU 사용률이 높음을 나타내는 증상은 거의 없습니다.
CPU 사용률이 높은 문제를 해결하기 위한 첫 번째 단계는 Catalyst 3750 스위치의 Cisco IOS 버전 릴리스 노트에서 가능한 알려진 IOS 버그를 확인하는 것입니다.이렇게 하면 문제 해결 단계에서 IOS 버그를 제거할 수 있습니다.Catalyst 3750 스위치의 릴리즈 노트 목록은 Cisco Catalyst 3750 Series Switches 릴리스 정보를 참조하십시오.
이 섹션에서는 Catalyst 3750 스위치의 일반적인 CPU 사용률 문제를 다룹니다.
CPU 사용률이 높은 일반적인 이유 중 하나는 Catalyst 3750 CPU가 IGMP(Internet Group Management Protocol) leave 메시지의 처리 스톰으로 인해 사용되고 있기 때문입니다.Cisco IOS Software Release 12.1(14)EA1a를 실행하는 Catalyst 3750 스위치 스택이 다른 스위치(예: IP 옵션으로 MAC 기반 IGMP 쿼리를 생성하는 Cat6500)에 연결되어 있는 경우, 3750은 IGSNOOPING(IGMP) 프로세스에서 높은 CPU 사용률을 경험합니다.이는 스택 내에서 루핑되는 MAC 기반 쿼리 패킷의 결과입니다.또한 HRPC hl2mm 요청 프로세스를 사용하여 높은 CPU를 볼 수 있습니다.Cisco IOS Software Release 12.1(14)EA1a를 사용하여 Catalyst 3750 스택에 EtherChannel을 구성한 경우 IGMP leave 메시지가 스톰될 수 있습니다.
Catalyst 3750은 많은 IGMP 쿼리를 받습니다.이렇게 하면 IGMP 쿼리 카운터가 초당 100씩 증가합니다.이로 인해 Catalyst 3750 스위치에서 높은 CPU가 사용됩니다.Cisco 버그 ID CSCeg55298(등록된 고객만 해당)을 참조하십시오. 버그는 Cisco IOS Software Release 12.1(14)EA1a에서 식별되었으며 Cisco IOS Software Release 12.2(25)SEA 이상에서 수정되었습니다.영구 솔루션은 최신 Cisco IOS 버전으로 업그레이드하는 것입니다.일시적인 해결 방법은 Catalyst 3750 스택에서 IGMP 스누핑을 비활성화하거나 3750 스택에 연결된 스위치에서 MAC 기반 쿼리를 비활성화하는 것입니다.
다음은 show ip traffic 명령의 샘플 출력입니다. 이 명령은 IP 패킷에 잘못된 옵션과 빠르게 증가하는 알림을 표시합니다.
Switch#show ip traffic Rcvd: 48195018 total, 25628739 local destination 0 format errors, 0 checksum errors, 10231692 bad hop count 0 unknown protocol, 9310320 not a gateway 0 security failures, 10231 bad options, 2640539 with options Opts: 2640493 end, 206 nop, 0 basic security, 2640523 loose source route 0 timestamp, 0 extended security, 16 record route 0 stream ID, 0 strict source route, 10231 alert, 0 cipso, 0 ump 0 other Frags: 16 reassembled, 0 timeouts, 0 couldn't reassemble 32 fragmented, 0 couldn't fragment Bcast: 308 received, 0 sent Mcast: 4221007 received, 4048770 sent Sent: 25342014 generated, 20710669 forwarded Drop: 617267 encapsulation failed, 0 unresolved, 0 no adjacency 0 no route, 0 unicast RPF, 0 forced drop 0 options denied, 0 source IP address zero !--- Output suppressed.
show processes cpu 명령은 스위치의 활성 프로세스 및 해당 CPU 사용률 통계에 대한 정보를 표시합니다.다음은 CPU 사용률이 정상인 경우 show processes cpu 명령의 샘플 출력입니다.
switch#show processes cpu CPU utilization for five seconds: 8%/4%; one minute: 6%; five minutes: 5% PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process 1 384 32789 11 0.00% 0.00% 0.00% 0 Load Meter 2 2752 1179 2334 0.73% 1.06% 0.29% 0 Exec 3 318592 5273 60419 0.00% 0.15% 0.17% 0 Check heaps 4 4 1 4000 0.00% 0.00% 0.00% 0 Pool Manager 5 6472 6568 985 0.00% 0.00% 0.00% 0 ARP Input 6 10892 9461 1151 0.00% 0.00% 0.00% 0 IGMPSN !--- CPU utilization at normal condition. 7 67388 53244 1265 0.16% 0.04% 0.02% 0 CDP Protocol 8 145520 166455 874 0.40% 0.29% 0.29% 0 IP Background 9 3356 1568 2140 0.08% 0.00% 0.00% 0 BOOTP Server 10 32 5469 5 0.00% 0.00% 0.00% 0 Net Background 11 42256 163623 258 0.16% 0.02% 0.00% 0 Per-Second Jobs 12 189936 163623 1160 0.00% 0.04% 0.05% 0 Net Periodic 13 3248 6351 511 0.00% 0.00% 0.00% 0 Net Input 14 168 32790 5 0.00% 0.00% 0.00% 0 Compute load avgs 15 152408 2731 55806 0.98% 0.12% 0.07% 0 Per-minute Jobs 16 0 1 0 0.00% 0.00% 0.00% 0 HRPC hI2mm reque !--- Output suppressed.
다음은 IGMP 스누핑 프로세스로 인해 CPU 사용률이 높은 경우 show processes cpu 명령의 샘플 출력입니다.
switch#show processes cpu CPU utilization for five seconds: 8%/4%; one minute: 6%; five minutes: 5% PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process 1 384 32789 11 0.00% 0.00% 0.00% 0 Load Meter 2 2752 1179 2334 0.73% 1.06% 0.29% 0 Exec 3 318592 5273 60419 0.00% 0.15% 0.17% 0 Check heaps 4 4 1 4000 0.00% 0.00% 0.00% 0 Pool Manager 5 6472 6568 985 0.00% 0.00% 0.00% 0 ARP Input 6 10892 9461 1151 100 100 100 0 IGMPSN !--- Due to high CPU utilization. 7 67388 53244 1265 0.16% 0.04% 0.02% 0 CDP Protocol 8 145520 166455 874 0.40% 0.29% 0.29% 0 IP Background 9 3356 1568 2140 0.08% 0.00% 0.00% 0 BOOTP Server 10 32 5469 5 0.00% 0.00% 0.00% 0 Net Background 11 42256 163623 258 0.16% 0.02% 0.00% 0 Per-Second Jobs 12 189936 163623 1160 0.00% 0.04% 0.05% 0 Net Periodic 13 3248 6351 511 0.00% 0.00% 0.00% 0 Net Input 14 168 32790 5 0.00% 0.00% 0.00% 0 Compute load avgs 15 152408 2731 55806 0.98% 0.12% 0.07% 0 Per-minute Jobs 16 0 2874 0 100 100 100 0 HRPC hI2mm reque !--- Output suppressed.
GRE(General Routing Encapsulation) 터널은 Cisco Catalyst 3750 Series 스위치에서 지원되지 않습니다.이 기능은 CLI로 구성할 수 있지만, 패킷은 하드웨어나 소프트웨어로 전환되지 않으므로 CPU 사용률이 높아집니다.
참고: Catalyst 3750의 멀티캐스트 라우팅에는 DVMRP(Distance Vector Multicast Routing Protocol) 터널 인터페이스만 지원됩니다.이 경우에도 패킷은 하드웨어와 스위칭할 수 없습니다.이 터널을 통해 라우팅된 패킷은 소프트웨어를 통해 전환되어야 합니다.이 터널을 통해 전달되는 패킷의 수가 클수록 CPU 사용률이 증가합니다.
이 문제에 대한 해결 방법은 없습니다.이는 Catalyst 3750 Series 스위치의 하드웨어 제한 사항입니다.
Catalyst 3750 스위치가 스택에 연결되어 있고 스위치에 대한 컨피그레이션 변경 사항이 있는 경우, 실행 중인 컨피그레이션 프로세스가 정상으로 작동하여 실행 중인 컨피그레이션의 새 복사본을 생성해야 합니다.그런 다음 스택의 모든 스위치로 전송됩니다.새로운 실행 중인 컨피그레이션은 CPU를 많이 사용합니다.따라서 새로운 실행 중인 컨피그레이션 프로세스를 구축하고 새 컨피그레이션을 다른 스위치에 전달할 때 CPU 사용량이 높습니다.그러나 이 높은 CPU 사용량은 show running-configuration 명령의 빌드 컨피그레이션 단계를 수행하는 데 소요되는 시간과 동일한 시간 동안만 존재해야 합니다.
이 문제에 대한 해결 방법이 필요하지 않습니다.일반적으로 CPU 사용량이 높습니다.
다음은 실행 프로세스가 필요로 인해 CPU 사용률이 높을 때 show processes cpu 명령의 샘플 출력입니다.
switch#show processes cpu CPU utilization for five seconds: 63%/0%; one minute: 27%; five minutes: 23% PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process 1 384 32789 11 0.00% 0.00% 0.00% 0 Load Meter 2 2752 1179 2334 0.73% 1.06% 0.29% 0 Exec 3 318592 5273 60419 0.00% 0.15% 0.17% 0 Check heaps 4 4 1 4000 0.00% 0.00% 0.00% 0 Pool Manager 5 6472 6568 985 0.00% 0.00% 0.00% 0 ARP Input 6 10892 9461 1151 0.00% 0.00% 0.00% 0 IGMPSN 7 67388 53244 1265 0.16% 0.04% 0.02% 0 CDP Protocol 8 145520 166455 874 0.40% 0.29% 0.29% 0 IP Background 9 3356 1568 2140 0.08% 0.00% 0.00% 0 BOOTP Server 10 32 5469 5 0.00% 0.00% 0.00% 0 Net Background 11 42256 163623 258 0.16% 0.02% 0.00% 0 Per-Second Jobs 12 189936 163623 1160 0.00% 0.04% 0.05% 0 Net Periodic 13 3248 6351 511 0.00% 0.00% 0.00% 0 Net Input 14 168 32790 5 0.00% 0.00% 0.00% 0 Compute load avgs 15 152408 2731 55806 0.98% 0.12% 0.07% 0 Per-minute Jobs 16 0 1 0 0.00% 0.00% 0.00% 0 HRPC h12mm reque 17 85964 426 201793 55.72% 12.05% 5.36% 0 hulc running !--- Output suppressed.
라우터가 과도한 수의 ARP 요청을 발생해야 하는 경우 ARP(Address Resolution Protocol) 입력 프로세스의 CPU 사용률이 높아집니다.동일한 IP 주소에 대한 ARP 요청은 2초마다 하나의 요청으로 제한됩니다.따라서 서로 다른 IP 주소에 대해 과도한 수의 ARP 요청을 시작해야 합니다.이는 IP 경로가 구성되어 브로드캐스트 인터페이스를 가리키는 경우 발생할 수 있습니다.분명한 예는 다음과 같은 기본 경로입니다.
ip route 0.0.0.0 0.0.0.0 Fastethernet0/0
이 경우 라우터는 더 구체적인 경로를 통해 연결할 수 없는 각 IP 주소에 대해 ARP 요청을 생성합니다. 즉, 라우터는 인터넷의 거의 모든 주소에 대해 ARP 요청을 생성합니다.고정 라우팅을 위한 다음 hop IP 주소를 구성하는 방법에 대한 자세한 내용은 고정 경로에 대한 다음 Hop IP 주소 지정을 참조하십시오.
또는 로컬로 연결된 서브넷을 통해 스캔하는 악성 트래픽 스트림으로 인해 과도한 양의 ARP 요청이 발생할 수 있습니다.이러한 스트림의 표시는 ARP 테이블에 불완전한 ARP 항목이 매우 많은 것을 나타냅니다.ARP 요청을 트리거하는 수신 IP 패킷을 처리해야 하기 때문에 이 문제를 해결하는 것은 IP 입력 프로세스에서 높은 CPU 사용률을 트러블슈팅하는 것과 본질적으로 동일합니다.
Catalyst 3750용 최신 Cisco IOS 버전에서는 SNMP 엔진이 SNMP 요청을 처리합니다.이 SNMP 엔진 프로세스로 인해 CPU가 높은 것은 정상입니다.SNMP 프로세스는 우선 순위가 낮으므로 스위치의 기능에 영향을 미치지 않아야 합니다.
SNMP 엔진 프로세스로 인해 높은 CPU 사용률에 대한 자세한 내용은 SNMP(IP Simple Network Management Protocol)를 참조하십시오.
Catalyst 3750 Series 스위치의 SDM(Switch Database Management)은 TCAM(Ternary Content Addressable Memory)에서 유지 관리되는 레이어 2 및 레이어 3 스위칭 정보를 관리합니다. SDM 템플릿은 스위치가 네트워크에서 사용되는 방식에 따라 특정 기능에 대한 지원을 최적화하기 위해 스위치에서 시스템 리소스를 구성하는 데 사용됩니다.SDM 템플릿을 선택하여 일부 기능의 시스템 사용을 극대화하거나 기본 템플릿을 사용하여 리소스를 균형 있게 조정할 수 있습니다.템플릿은 다음 유형의 기능에 대한 지원을 최적화하기 위해 시스템 리소스의 우선 순위를 지정합니다.
라우팅(Routing) - 라우팅 템플릿은 일반적으로 네트워크 중앙의 라우터 또는 어그리게이터에 필요한 유니캐스트 라우팅에 대한 시스템 리소스를 최대화합니다.
VLANs - VLAN 템플릿은 라우팅을 비활성화하며 유니캐스트 MAC 주소의 최대 수를 지원합니다.일반적으로 레이어 2 스위치에 대해 선택됩니다.
Access(액세스) - 액세스 템플릿은 많은 ACL을 수용할 수 있도록 ACL(액세스 제어 목록)에 대한 시스템 리소스를 최대화합니다.
Default(기본값) - 기본 템플릿은 모든 함수에 균형을 부여합니다.
각 템플릿에는 두 가지 버전이 있습니다.데스크톱 템플릿과 집계 템플릿.
참고: 데스크톱 스위치의 기본 템플릿은 기본 데스크톱 템플릿입니다.Catalyst 3750-12S의 기본 템플릿은 기본 집계 템플릿입니다.
사용된 기능에 대한 최대 시스템 사용을 제공하는 적절한 SDM 템플릿을 선택합니다.부적절한 SDM 템플릿은 CPU를 오버로드하고 스위치 성능을 크게 저하시킬 수 있습니다.
show platform tcam utilization 명령을 실행하여 TCAM이 얼마나 사용되고 있으며 사용 가능한 양을 확인합니다.
Switch#show platform tcam utilization CAM Utilization for ASIC# 0 Max Used Masks/Values Masks/values Unicast mac addresses: 784/6272 12/26 IPv4 IGMP groups + multicast routes: 144/1152 6/26 IPv4 unicast directly-connected routes: 784/6272 12/26 IPv4 unicast indirectly-connected routes: 272/2176 8/44 IPv4 policy based routing aces: 0/0 0/0 IPv4 qos aces: 528/528 18/18 IPv4 security aces: 1024/1024 27/27 Note: Allocation of TCAM entries per feature uses a complex algorithm. The above information is meant to provide an abstract view of the current TCAM utilization
TCAM 사용률이 매개변수에 대해 최대값에 근접할 경우 다른 템플릿 기능이 해당 매개변수에 대해 최적화할 수 있는지 확인합니다.
show sdm prefer access | default | dual-ipv4-and-ipv6 | routing | vlan
Switch# show sdm prefer routing "desktop routing" template: The selected template optimizes the resources in the switch to support this level of features for 8 routed interfaces and 1024 VLANs. number of unicast mac addresses: 3K number of igmp groups + multicast routes: 1K number of unicast routes: 11K number of directly connected hosts: 3K number of indirect routes: 8K number of policy based routing aces: 512 number of qos aces: 512 number of security aces: 1K
스위치에서 사용할 SDM 템플릿을 지정하려면 sdm prefer global configuration 명령을 실행합니다.
참고: 새 SDM 템플릿을 사용하려면 스위치 다시 로드가 필요합니다.
Cisco Catalyst 3750 스위치의 PBR(Policy Based Routing) 구현에는 몇 가지 제한이 있습니다.이러한 제한을 따르지 않으면 CPU 사용률이 높을 수 있습니다.
라우티드 포트 또는 SVI에서 PBR을 활성화할 수 있습니다.
스위치는 PBR에 대한 route-map deny 문을 지원하지 않습니다.
멀티캐스트 트래픽이 정책 라우팅되지 않습니다.PBR은 유니캐스트 트래픽에만 적용됩니다.
로컬 주소로 향하는 패킷을 허용하는 ACL과 일치하지 마십시오.PBR은 이러한 패킷을 전달합니다. 그러면 ping 또는 텔넷 장애 또는 경로 프로토콜 플래핑이 발생할 수 있습니다.
거부 ACE가 있는 ACL과 일치하지 않습니다.거부 ACE와 일치하는 패킷은 CPU로 전송되므로 CPU 사용률이 높을 수 있습니다.
PBR을 사용하려면 먼저 sdm prefer routing global configuration 명령을 사용하여 라우팅 템플릿을 활성화해야 합니다.PBR은 VLAN 또는 기본 템플릿에서 지원되지 않습니다.
전체 목록은 PBR Configuration Guidelines(PBR 컨피그레이션 지침)를 참조하십시오.
소스 IP가 하나의 서브넷에 있고, 대상 IP가 다른 서브넷에 있으며, 다음 홉이 동일한 VLAN 또는 레이어 3 세그먼트에 있는 패킷을 수신하는 경우 ICMP 삭제 리디렉션을 가져올 수 있습니다.
예를 들면 다음과 같습니다.
show log에서 이 메시지를 볼 수 있습니다.
51w2d: ICMP-Q:Dropped redirect disabled on L3 IF: Local Port Fwding L3If:Vlan7 L2If:GigabitEthernet2/0/13 DI:0xB4, LT:7, Vlan:7 SrcGPN:65, SrcGID:65, ACLLogIdx:0x0, MacDA:001a.a279.61c1, MacSA: 0002.5547.3bf0 IP_SA:64.253.128.3 IP_DA:208.118.132.9 IP_Proto:47 TPFFD:EDC10041_02C602C6_00B0056A-000000B4_EBF6001B_0D8A3746
이는 소스 IP 64.253.128.3을 사용하여 VLAN 7에서 패킷을 수신하고 대상 IP인 208.118.132.9에 도달하려고 시도하는 경우 발생합니다.스위치에 구성된 다음 홉이 동일한 VLAN 7에도 있음을 확인할 수 있습니다(이 경우 64.253.128.41).