在思科交换机上查看CPU使用率可以通过多种命令行方法实现,以下是详细操作和扩展知识点:
1. 使用`show processes cpu`命令
这是最直接的方法,执行后会显示CPU的实时和历史负载情况(5秒、1分钟、5分钟平均值)。命令输出包含各进程的CPU占用百分比,重点关注`CPU utilization`行,例如:
Switch# show processes cpu
CPU utilization for five seconds: 20%/5%; one minute: 15%; five minutes: 10%
其中第一个百分比为总利用率,第二个为中断产生的负载。
2. 通过`show processes cpu sorted`排序进程
按CPU占用率降序排列进程,快速定位高负载进程:
Switch# show processes cpu sorted
输出会显示类似`Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process`的表格,重点关注`5Sec`列。
3. 利用`show processes cpu history`图形化视图
生成ASCII图表显示CPU历史趋势(默认记录60分钟),适用于分析周期性负载:
Switch# show processes cpu history
4. SNMP监控CPU使用率
通过SNMP协议远程采集CPU数据,需配置SNMP社区字符串并启用以下OID:
- 1分钟平均值:`.1.3.6.1.4.1.9.9.109.1.1.1.1.8`
- 5分钟平均值:`.1.3.6.1.4.1.9.9.109.1.1.1.1.9`
适用于Zabbix、PRTG等监控系统集成。
5. 自动化脚本辅助检查
在脚本中使用`show processes cpu | include CPU utilization`过滤关键数据,结合计划任务定时记录日志。
扩展知识:
CPU高负载常见原因:生成树协议(STP)震荡、广播风暴、路由协议(如OSPF)频繁计算、恶意流量(如DoS攻击)。
优化建议:
- 使用`monitor process`可疑进程;
- 升级IOS/XE版本修复已知漏洞;
- 通过端口安全或ACL限制异常流量;
- 分布式架构设备(如Nexus系列)需检查各线卡CPU负载均衡。
如需长期监控,建议部署NetFlow/sFlow分析流量来源,或启用系统日志(syslog)记录阈值告警(如`logging monitor 7`)。