首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何通过SNMP从Cisco交换机获取每个进程的内存使用

如何通过SNMP从Cisco交换机获取每个进程的内存使用
EN

Network Engineering用户
提问于 2018-09-12 09:37:13
回答 1查看 749关注 0票数 3

我正试图通过SNMP从Cisco交换机获得每个进程的内存使用。

我找到了一篇文章,建议您可以减去CISCO-PROCESS-MIB.cpmProcExtMemAllocatedRevCISCO-PROCESS-MIB.cpmProcExtMemFreedRev (思科进程内存使用情况),但这似乎不会导致合理的值。

这些值通常是相同的(结果为零),有时所释放的值大于分配的值(导致一个负数)--尽管我认为这可能是因为在我提取分配的结果时和我提取释放的结果之间释放了内存。

开关上的show processes memory输出显示的结果与我通过SNMP看到的结果相同(如果分配的释放逻辑是正确的,则是疯狂的值),但它也显示了一个Holding列,它看起来符合我的需要。

代码语言:javascript
运行
复制
    Switch1#show processes memory
    Processor Pool Total:  175382376 Used:   47922940 Free:  127459436
          I/O Pool Total:   16777216 Used:   13591380 Free:    3185836
    Driver te Pool Total:    4194304 Used:         40 Free:    4194264

     PID TTY  Allocated      Freed    Holding    Getbufs    Retbufs Process
       0   0  118863872   66054580   48365728          0          0 *Init*
       0   0      12476 2411645460      12476          0          0 *Sched*
       0   0 3937788032 4286508576    3540184   15562527    1490354 *Dead*
       0   0          0          0     394476          0          0 *MallocLite*
       1   0     348672     187988     175856          0          0 Chunk Manager
       2   0        232        232       4160          0          0 Load Meter
       3   0         76          0       9236          0          0 hulc_entropy_thr
       4   0          0          0      10080          0          0 Connection Mgr
       5   0       4712       4520      11692          0          0 Check heaps
       6   0   16741228   29720504      38796   14834428   22351307 Pool Manager

我在Holding上找不到任何关于CISCO-PROCESS-MIB的参考资料,我在网上搜索也没有运气。

有人知道如何通过SNMP获取这个Holding字段吗?

EN

回答 1

Network Engineering用户

回答已采纳

发布于 2018-10-24 19:52:05

我刚刚花了半个小时来研究这个问题,我认为没有办法从SNMP中获得准确的数字。

这是从cpmProcess中的3个表中获得的数据(还有更多的OID,但它们似乎不在我正在查看的设备上填充)

代码语言:javascript
运行
复制
CISCO-PROCESS-MIB::cpmProcessPID.1.5 = Gauge32: 5
CISCO-PROCESS-MIB::cpmProcessName.1.5 = STRING: Pool Manager
CISCO-PROCESS-MIB::cpmProcessuSecs.1.5 = Gauge32: 215 microseconds
CISCO-PROCESS-MIB::cpmProcessTimeCreated.1.5 = Timeticks: (267) 0:00:02.67
CISCO-PROCESS-MIB::cpmProcessAverageUSecs.1.5 = Gauge32: 215 microseconds
CISCO-PROCESS-MIB::cpmProcExtMemAllocated.1.5 = Gauge32: 23223664 bytes
CISCO-PROCESS-MIB::cpmProcExtMemFreed.1.5 = Gauge32: 1784383920 bytes
CISCO-PROCESS-MIB::cpmProcExtInvoked.1.5 = Counter32: 418471
CISCO-PROCESS-MIB::cpmProcExtRuntime.1.5 = Counter32: 90380 microseconds
CISCO-PROCESS-MIB::cpmProcExtUtil5Sec.1.5 = Gauge32: 0
CISCO-PROCESS-MIB::cpmProcExtUtil1Min.1.5 = Gauge32: 0
CISCO-PROCESS-MIB::cpmProcExtUtil5Min.1.5 = Gauge32: 0
CISCO-PROCESS-MIB::cpmProcExtPriority.1.5 = INTEGER: critical(1)
CISCO-PROCESS-MIB::cpmProcExtMemAllocatedRev.1.5 = Gauge32: 23223664 bytes
CISCO-PROCESS-MIB::cpmProcExtMemFreedRev.1.5 = Gauge32: 1784383920 bytes
CISCO-PROCESS-MIB::cpmProcExtInvokedRev.1.5 = Counter32: 418471
CISCO-PROCESS-MIB::cpmProcExtRuntimeRev.1.5 = Counter32: 90380 microseconds
CISCO-PROCESS-MIB::cpmProcExtUtil5SecRev.1.5 = Gauge32: 0 percent
CISCO-PROCESS-MIB::cpmProcExtUtil1MinRev.1.5 = Gauge32: 0 percent
CISCO-PROCESS-MIB::cpmProcExtUtil5MinRev.1.5 = Gauge32: 0 percent
CISCO-PROCESS-MIB::cpmProcExtPriorityRev.1.5 = INTEGER: critical(1)

我编写了一个脚本来获取所有的值以防止计时问题,并根据释放的分配对它们进行排序:

(中间位被移除)

代码语言:javascript
运行
复制
PDU DISPATCHER        3446519088
IP SNMP               1742301596
SNMP ENGINE           792807060
IP Input              635031724
Logger                27247348
TCP Protocols         15053688
Per-Second Jobs       10510488

...

SSM connection manager  0
Crypto IKE Dispatcher  -472
IP Background         -1880
DHCPD Timer           -47424
TTY Background        -103736
LOCAL AAA             -126696
Transport Port Agent  -181900
IP Cache Ager         -1120096
crypto sw pk proc     -2327016
TCP Timer             -606529520
Pool Manager          -1761160256

带有负值的进程似乎没有多少共同点,奇怪的是PDU DISPATCHER和in使用的内存最多。

我认为这可能是由于共享内存和在IOS中的现代内存管理之前的原始OID。

可能所需的数据包含在OID中,Cisco似乎并不经常填充:

代码语言:javascript
运行
复制
1.3.6.1.4.1.9.9.109.1.2.3.1.15 cpmProcessTextSegmentSize
1.3.6.1.4.1.9.9.109.1.2.3.1.16 cpmProcessDataSegmentSize
1.3.6.1.4.1.9.9.109.1.2.3.1.17 cpmProcessStackSize
1.3.6.1.4.1.9.9.109.1.2.3.1.18 cpmProcessDynamicMemorySize

我找不到任何其他思科MIB包含更好的数据,所以我不认为有一个可靠的方法来获取这些信息。

票数 2
EN
页面原文内容由Network Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://networkengineering.stackexchange.com/questions/53210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档