Cisco 交換機、路由器多CPU深入分析

問題

Cisco的交換機和路由器到底有幾個CPU,都分佈在哪個模塊上?這些是否能通過命令查出,查出來是否有問題,本文來深入分析一下。(本文參考Cisco的文檔和現場實例進行編寫的)

分析依據

要查Cisco交換機和路由器上的多CPU,必須有CISCO-PROCESS MIB,從該MIB中表cpmCPUTotalTable 查找到對象cpmCPUTotal5minRev(即5分鐘CPU收到的佔有率),通過通過這個表的CPU索引 cpmCPUTotalPhysicalIndex 找到CPU所在位置;最好後通過索引,從entPhysicalName 對象找到CPU分佈在那些模塊。

cpmCPUTotal5minRev的值需要確認IOS版本,再確認不同的對象。

 

綜上,分三步查找:

 

1、          cpmCPUTotal5minRev (.1.3.6.1.4.1.9.9.109.1.1.1.1.5) (以IOS12.0(3)T-12.2(3.5) 之間爲例),查找該設備有幾個CPU,同時每個CPU佔有率多少。

 

2、          cpmCPUTotalPhysicalIndex (.1.3.6.1.4.1.9.9.109.1.1.1.1.2) 查找CPUcpmCPUTotalTable 中的索引。

 

3、          entPhysicalName (.1.3.6.1.2.1.47.1.1.1.1.7) 通過引用索引,定位CPU在哪個板卡上。

 

 

實例分析(Cisco catalyst 6509

 

三步:

 

1、查找CPU的個數,及5分鐘佔有率

C:\ >snmpwalk 10.1.0.2 .1.3.6.1.4.1.9.9.109.1.1.1.1.5

cisco.ciscoMgmt.109.1.1.1.1.5.1 : Unsigned32: 6

cisco.ciscoMgmt.109.1.1.1.1.5.2 : Unsigned32: 7

cisco.ciscoMgmt.109.1.1.1.1.5.3 : Unsigned32: 91

cisco.ciscoMgmt.109.1.1.1.1.5.4 : Unsigned32: 91

 

Cisco 6509交換機有4CPU,分別佔用爲 6% 7%91%91%

 

2、查找CPU的索引

 

C:\ >snmpwalk 10.1.0.2 .1.3.6.1.4.1.9.9.109.1.1.1.1.2

cisco.ciscoMgmt.109.1.1.1.1.2.1 : INTEGER: 4017

cisco.ciscoMgmt.109.1.1.1.1.2.2 : INTEGER: 4001

cisco.ciscoMgmt.109.1.1.1.1.2.3 : INTEGER: 1007

cisco.ciscoMgmt.109.1.1.1.1.2.4 : INTEGER: 5007

 

3、通過索引,定位CPU在哪些板卡上

 

C:\ >snmpget 10.1.0.2 .1.3.6.1.2.1.47.1.1.1.1.7.4017

47.1.1.1.1.7.4017 : OCTET STRING- (ascii):    CPU of Routing Processor 5

 

C:\ >snmpget 10.1.0.2 .1.3.6.1.2.1.47.1.1.1.1.7.4001

47.1.1.1.1.7.4001 : OCTET STRING- (ascii):     CPU of Switching Processor 5

 

C:\ >snmpget 10.1.0.2 .1.3.6.1.2.1.47.1.1.1.1.7.5007

47.1.1.1.1.7.5007 : OCTET STRING- (ascii):  CPU of Sub-Module 1 DFC Card

 

C:\>snmpget 10.1.0.2 .1.3.6.1.2.1.47.1.1.1.1.7.1007

47.1.1.1.1.7.1007 : OCTET STRING- (ascii):  CPU of Sub-Module 2 DFC Card

 

 

 

通過參看交換機的板卡,定位對應關係:

  

 

從上面的分析上看

 

 

可以看出6509 配置的5個模塊,CPU的分佈如下:

 

板卡號
模塊名
子模塊名
Cpu個數
CPU佔用率
1
16SFM  1000MB模塊
DFC
1
91%
2
16SFM  1000MB模塊
DFC
1
91%
3
81000 MB 模塊

-

0

 

4
48100 MB 模塊

-

0

 

5
SUP 720 引擎
PFCMSFC2
2
PFC 6% MSFC2 7%

 

爲什麼DFC CPU 佔有率如此高?

 

DFC中有一個進程爲  lcp schedular ,這個進程在系統初始化的時候,佔用CPU時間爲100% ,之後其他的進程需要CPU時間時,分配給其他的進程,也就是說lcp scheduler 佔用的都是沒有用的CPU時間, lcp scheduler 進程是接管所有沒有用的CPU時間來動態分配CPU

某些網管軟件和命令 show process cpu  不關心DFCcpu ,所以查不到。

 

參考:

How to Collect CPU Utilization on Cisco IOS Devices Using SNMP

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章