이 문서에서는 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 스위치 릴리스 노트를 참조하십시오.
이 섹션에서는 Catalyst 3750 스위치의 일반적인 높은 CPU 사용률 문제를 다룹니다.
CPU 사용률이 높은 일반적인 이유 중 하나는 Catalyst 3750 CPU가 IGMP(Internet Group Management Protocol)의 처리 폭풍에 바쁘게 메시지를 남기기 때문입니다. Cisco IOS Software Release 12.1(14)EA1a를 실행하는 Catalyst 3750 스위치 스택이 CatOS를 실행하는 Cat6500과 같은 다른 스위치에 연결되어 IP 옵션으로 MAC 기반 IGMP 쿼리를 생성하면 3750은 IGMPSN(스누핑) 프로세스에서 높은 CPU 사용률을 경험합니다. 이는 스택 내에서 반복되는 MAC 기반 쿼리 패킷의 결과입니다. 또한 HRPC hl2mm 요청 프로세스로 높은 CPU를 볼 수 있습니다. Cisco IOS Software Release 12.1(14)EA1a가 포함된 Catalyst 3750 스택에 EtherChannel을 구성한 경우, IGMP leave 메시지가 폭풍(storm)으로 나타날 수 있습니다.
Catalyst 3750은 많은 IGMP 쿼리를 수신합니다. 이렇게 하면 IGMP 쿼리 카운터가 초당 수백 씩 증가하기 시작합니다. 따라서 Catalyst 3750 스위치의 CPU가 높아집니다. Cisco 버그 ID CSCeg55298(등록된 고객만 해당)을 참조하십시오. 버그는 Cisco IOS Software 릴리스 12.1(14)EA1a에서 확인되었으며 Cisco IOS Software 릴리스 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 스위치가 스택에 연결되어 있고 스위치에 대한 컨피그레이션 변경이 있는 경우 hulc 실행 컨피그레이션 프로세스가 깨어나 실행 컨피그레이션의 새 복사본을 생성합니다. 그런 다음 스택의 모든 스위치로 전송합니다. 실행 중인 새 컨피그레이션은 CPU를 많이 사용합니다. 따라서 실행 중인 새 컨피그레이션 프로세스를 구축할 때와 새 컨피그레이션을 다른 스위치로 전달할 때 CPU 사용량이 높습니다. 그러나 이 높은 CPU 사용량은 show running-configuration 명령의 구축 컨피그레이션 단계를 수행하는 데 걸리는 시간과 동일해야 합니다.
이 문제를 해결할 필요가 없습니다. 이러한 상황에서는 CPU 사용량이 일반적으로 높습니다.
hulc 실행 프로세스로 인해 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초마다 1개로 속도 제한됩니다. 따라서 서로 다른 IP 주소에 대해 과도한 수의 ARP 요청이 발생해야 합니다. 이는 IP 경로가 구성되고 브로드캐스트 인터페이스를 가리키는 경우 발생할 수 있습니다. 명백한 예는 다음과 같은 기본 경로입니다.
ip route 0.0.0.0 0.0.0.0 Fastethernet0/0
이 경우 라우터는 특정 경로를 통해 연결할 수 없는 각 IP 주소에 대해 ARP 요청을 생성합니다. 즉, 라우터는 인터넷의 거의 모든 주소에 대해 ARP 요청을 생성합니다. 고정 라우팅을 위해 다음 홉 IP 주소를 구성하는 방법에 대한 자세한 내용은 고정 경로를 위한 다음 홉 IP 주소 지정을 참조하십시오.
또는 로컬로 연결된 서브넷을 통해 스캔하는 악성 트래픽 스트림에 의해 과도한 ARP 요청이 발생할 수 있습니다. 이러한 스트림을 나타내는 것은 ARP 테이블에 불완전한 ARP 항목이 매우 많다는 것입니다. ARP 요청을 트리거하는 수신 IP 패킷을 처리해야 하므로, 이 문제를 해결하는 것은 기본적으로 IP 입력 프로세스에서 CPU 사용률이 높은 문제를 해결하는 것과 동일합니다.
Catalyst 3750용 최신 Cisco IOS 버전에서는 SNMP(Simple Network Management Protocol) 요청이 SNMP 엔진에서 처리됩니다. 이 SNMP 엔진 프로세스로 인해 CPU가 높아지는 것은 정상입니다. SNMP 프로세스는 우선순위가 낮으므로 스위치의 기능에 영향을 주지 않아야 합니다.
SNMP 엔진 프로세스로 인한 높은 CPU 사용률에 대한 자세한 내용은 IP SNMP(Simple Network Management Protocol) Cause High CPU Utilization을 참조하십시오.
Catalyst 3750 Series 스위치의 스위치 데이터베이스 관리(SDM)는 TCAM(Ternary Content Addressable Memory)에서 유지되는 레이어 2 및 레이어 3 스위칭 정보를 관리합니다. SDM 템플릿은 네트워크에서 스위치를 사용하는 방법에 따라 특정 기능에 대한 지원을 최적화하기 위해 스위치에서 시스템 리소스를 구성하는 데 사용됩니다. SDM 템플릿은 일부 기능에 대해 최대 시스템 사용량을 제공하거나 리소스 균형을 맞추기 위해 기본 템플릿을 사용하도록 선택할 수 있습니다. 템플릿은 다음과 같은 유형의 기능에 대한 지원을 최적화하기 위해 시스템 리소스의 우선 순위를 지정합니다.
라우팅 — 라우팅 템플릿은 유니캐스트 라우팅을 위한 시스템 리소스를 최대화하며, 일반적으로 네트워크 중심에 있는 라우터 또는 집선자에게 필요합니다.
VLANs — VLAN 템플릿은 라우팅을 비활성화하며 유니캐스트 MAC 주소의 최대 수를 지원합니다. 일반적으로 레이어 2 스위치에 대해 선택됩니다.
Access(액세스) - 액세스 템플릿은 ACL(Access Control List)에 대한 시스템 리소스를 최대화하여 많은 ACL을 수용합니다.
Default(기본값) - 기본 템플릿은 모든 함수에 균형을 제공합니다.
각 템플릿에는 두 가지 버전이 있습니다. 데스크톱 템플릿과 어그리게이터 템플릿입니다.
참고: 데스크톱 스위치의 기본 템플릿은 기본 데스크톱 템플릿입니다. Catalyst 3750-12S의 기본 템플릿은 기본 어그리게이터 템플릿입니다.
사용된 기능에 대한 최대 시스템 사용량을 제공하는 적절한 SDM 템플릿을 선택합니다. 부적절한 SDM 템플릿은 CPU를 오버로드하고 스위치 성능을 심각하게 저하시킬 수 있습니다.
show platform tcam utilization 명령을 실행하여 현재 얼마나 많은 TCAM이 사용되고 있으며 얼마나 많은 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 컨피그레이션 가이드라인을 참조하십시오.
소스 IP가 하나의 서브넷에 있고, 목적지 IP가 다른 서브넷에 있으며, 다음 홉이 동일한 VLAN 또는 레이어 3 세그먼트에 있는 패킷을 한 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에 도달하려고 시도하는 경우 발생합니다. 스위치에 구성된 다음 홉(이 경우 64.253.128.41)도 동일한 VLAN 7에 있음을 확인할 수 있습니다.
개정 | 게시 날짜 | 의견 |
---|---|---|
1.0 |
20-Dec-2005 |
최초 릴리스 |