我没有可用的ipfib进程的设备,但假设你运行的是IOS,无论进程名称是什么,原理都是一样的......
找到相关进程的索引:
首先,遍历cpmProcessName并找到索引...例如,我将查找“ARP Input”...
(py27_test)[mpenning@tsunami fast]$ snmpbulkwalk -v 2c -c public 10.1.1.1 \
.1.3.6.1.4.1.9.9.109.1.2.1.1.2 | grep "ARP Input"
CISCO-PROCESS-MIB::cpmProcessName.1.12 = STRING: ARP Input
CISCO-PROCESS-MIB::cpmProcessName.1.239 = STRING: RARP Input
(py27_test)[mpenning@tsunami fast]$
我们可以看到“ARP Input”进程的索引是1.12...
分配的所有内存:
现在让我们找出曾经分配给这个进程的所有内存。我们将snmpget在cpmProcExtMemAllocatedRev上做一个...确保将 1.12 附加到 cpmProcExtMemAllocatedRev OID...
(py27_test)[mpenning@tsunami fast]$ snmpget -v 2c -c public 10.1.1.1 \
.1.3.6.1.4.1.9.9.109.1.2.3.1.1.1.12
CISCO-PROCESS-MIB::cpmProcExtMemAllocatedRev.1.12 = Gauge32: 1259940452 bytes
(py27_test)[mpenning@tsunami fast]$
cpmProcExtMemAllocatedRev是分配给进程的所有内存的总和;这意味着您必须减去从进程中释放的所有内存。
释放所有内存:
要查找曾经被释放的所有内存,请轮询cpmProcExtMemFreedRev OID,并附加索引 (1.12)...
(py27_test)[mpenning@tsunami fast]$ snmpget -v 2c -c public 10.1.1.1 \
.1.3.6.1.4.1.9.9.109.1.2.3.1.2.1.12
CISCO-PROCESS-MIB::cpmProcExtMemFreedRev.1.12 = Gauge32: 1259931892 bytes
(py27_test)[mpenning@tsunami fast]$
总数/数学:
所以我的“ARP Input”进程使用的总内存是:
AllocatedMem - FreedMem = MemoryUsed
1259940452 - 1259931892 = *8560 Bytes*