1-- *****************************************************************
2-- CISCO-MEMORY-POOL-MIB
3--
4-- February 1996, Jeffrey T. Johnson
5--
6-- July 2001, Seth Wang
7--
8-- Copyright (c) 2001, 2013 by cisco Systems Inc.
9-- All rights reserved.
10-- *****************************************************************
11
12CISCO-MEMORY-POOL-MIB DEFINITIONS ::= BEGIN
13
14IMPORTS
15    MODULE-IDENTITY,
16    OBJECT-TYPE,
17    Integer32,
18    Gauge32,
19    NOTIFICATION-TYPE
20        FROM SNMPv2-SMI
21    MODULE-COMPLIANCE,
22    OBJECT-GROUP,
23    NOTIFICATION-GROUP
24        FROM SNMPv2-CONF
25    TEXTUAL-CONVENTION,
26    DisplayString,
27    TruthValue
28        FROM SNMPv2-TC
29    Percent
30        FROM CISCO-QOS-PIB-MIB
31    ciscoMgmt
32        FROM CISCO-SMI;
33
34
35ciscoMemoryPoolMIB MODULE-IDENTITY
36    LAST-UPDATED    "201309180000Z"
37    ORGANIZATION    "Cisco Systems, Inc."
38    CONTACT-INFO
39            "Postal: Cisco Systems, Inc.
40            170 West Tasman Drive
41            San Jose, CA 95134-1706
42            USA
43
44            Tel: +1 408 526 4000
45
46            E-mail: cs-snmp@cisco.com"
47    DESCRIPTION
48        "MIB module for monitoring memory pools"
49    REVISION        "201309180000Z"
50    DESCRIPTION
51        "Added new notification ciscoMemoryPoolLowMemoryNotif.
52        Added new notification ciscoMemoryPoolLowMemoryRecoveryNotif.
53        Added new object ciscoMemoryPoolLowMemoryNotifEnable.
54        Added new object ciscoMemoryPoolLowMemoryNotifThreshold.
55        Added new group ciscoMemoryPoolGroupRev1 which deprecates
56        ciscoMemoryPoolGroup.
57        Added new compliance ciscoMemoryPoolComplianceRev2 which
58        deprecates ciscoMemoryPoolComplianceRev1."
59    REVISION        "200107310000Z"
60    DESCRIPTION
61        "Added a new table, ciscoMemoryPoolUtilizationTable, which
62        provides information about memory utilization."
63    REVISION        "199602010000Z"
64    DESCRIPTION
65        "Initial version of this MIB module."
66    ::= { ciscoMgmt 48 }
67
68
69
70CiscoMemoryPoolTypes ::= TEXTUAL-CONVENTION
71    STATUS          current
72    DESCRIPTION
73        "Represents the different types of memory pools that
74        may be present in a managed device.  Memory pools can
75        be roughly categorized into two groups, predefined
76        pools and dynamic pools.  The following pool types
77        are currently predefined:
78            1:  processor memory
79            2:  i/o memory
80            3:  pci memory
81            4:  fast memory
82            5:  multibus memory
83
84        Dynamic pools will have a pool type value greater than
85        any of the predefined types listed above.
86
87        Note that only the processor pool is required to be
88        supported by all devices.  Support for other pool types
89        is dependent on the device being managed."
90    SYNTAX          Integer32 (1..65535)
91ciscoMemoryPoolObjects  OBJECT IDENTIFIER
92    ::= { ciscoMemoryPoolMIB 1 }
93
94
95ciscoMemoryPoolTable OBJECT-TYPE
96    SYNTAX          SEQUENCE OF CiscoMemoryPoolEntry
97    MAX-ACCESS      not-accessible
98    STATUS          current
99    DESCRIPTION
100        "A table of memory pool monitoring entries."
101    ::= { ciscoMemoryPoolObjects 1 }
102
103ciscoMemoryPoolEntry OBJECT-TYPE
104    SYNTAX          CiscoMemoryPoolEntry
105    MAX-ACCESS      not-accessible
106    STATUS          current
107    DESCRIPTION
108        "An entry in the memory pool monitoring table."
109    INDEX           { ciscoMemoryPoolType }
110    ::= { ciscoMemoryPoolTable 1 }
111
112CiscoMemoryPoolEntry ::= SEQUENCE {
113        ciscoMemoryPoolType                    CiscoMemoryPoolTypes,
114        ciscoMemoryPoolName                    DisplayString,
115        ciscoMemoryPoolAlternate               Integer32,
116        ciscoMemoryPoolValid                   TruthValue,
117        ciscoMemoryPoolUsed                    Gauge32,
118        ciscoMemoryPoolFree                    Gauge32,
119        ciscoMemoryPoolLargestFree             Gauge32,
120        ciscoMemoryPoolLowMemoryNotifThreshold Percent
121}
122
123ciscoMemoryPoolType OBJECT-TYPE
124    SYNTAX          CiscoMemoryPoolTypes
125    MAX-ACCESS      not-accessible
126    STATUS          current
127    DESCRIPTION
128        "The type of memory pool for which this entry
129        contains information."
130    ::= { ciscoMemoryPoolEntry 1 }
131
132ciscoMemoryPoolName OBJECT-TYPE
133    SYNTAX          DisplayString
134    MAX-ACCESS      read-only
135    STATUS          current
136    DESCRIPTION
137        "A textual name assigned to the memory pool.  This
138        object is suitable for output to a human operator,
139        and may also be used to distinguish among the various
140        pool types, especially among dynamic pools."
141    ::= { ciscoMemoryPoolEntry 2 }
142
143ciscoMemoryPoolAlternate OBJECT-TYPE
144    SYNTAX          Integer32 (0..65535)
145    MAX-ACCESS      read-only
146    STATUS          current
147    DESCRIPTION
148        "Indicates whether or not this memory pool has an
149        alternate pool configured.  Alternate pools are
150        used for fallback when the current pool runs out
151        of memory.
152
153        If an instance of this object has a value of zero,
154        then this pool does not have an alternate.  Otherwise
155        the value of this object is the same as the value of
156        ciscoMemoryPoolType of the alternate pool."
157    ::= { ciscoMemoryPoolEntry 3 }
158
159ciscoMemoryPoolValid OBJECT-TYPE
160    SYNTAX          TruthValue
161    MAX-ACCESS      read-only
162    STATUS          current
163    DESCRIPTION
164        "Indicates whether or not the remaining objects in
165        this entry contain accurate data.  If an instance
166        of this object has the value false (which in and of
167        itself indicates an internal error condition), the
168        values of the remaining objects in the conceptual row
169        may contain inaccurate information (specifically, the
170        reported values may be less than the actual values)."
171    ::= { ciscoMemoryPoolEntry 4 }
172
173ciscoMemoryPoolUsed OBJECT-TYPE
174    SYNTAX          Gauge32
175    UNITS           "bytes"
176    MAX-ACCESS      read-only
177    STATUS          current
178    DESCRIPTION
179        "Indicates the number of bytes from the memory pool
180        that are currently in use by applications on the
181        managed device."
182    ::= { ciscoMemoryPoolEntry 5 }
183
184ciscoMemoryPoolFree OBJECT-TYPE
185    SYNTAX          Gauge32
186    UNITS           "bytes"
187    MAX-ACCESS      read-only
188    STATUS          current
189    DESCRIPTION
190        "Indicates the number of bytes from the memory pool
191        that are currently unused on the managed device.
192
193        Note that the sum of ciscoMemoryPoolUsed and
194        ciscoMemoryPoolFree is the total amount of memory
195        in the pool"
196    ::= { ciscoMemoryPoolEntry 6 }
197
198ciscoMemoryPoolLargestFree OBJECT-TYPE
199    SYNTAX          Gauge32
200    UNITS           "bytes"
201    MAX-ACCESS      read-only
202    STATUS          current
203    DESCRIPTION
204        "Indicates the largest number of contiguous bytes
205        from the memory pool that are currently unused on
206        the managed device."
207    ::= { ciscoMemoryPoolEntry 7 }
208
209ciscoMemoryPoolLowMemoryNotifThreshold OBJECT-TYPE
210    SYNTAX          Percent
211    MAX-ACCESS      read-write
212    STATUS          current
213    DESCRIPTION
214        "This object is used to indicate the threshold value in
215        percentage of free memory remaining in a memory pool.
216        If the free memory available goes below this threshold value and
217        if ciscoMemoryPoolLowMemoryNotifEnable is set to 'true',
218        ciscoMemoryPoolLowMemoryNotif will be generated. When the
219        available free memory comes back to the threshold value
220        ciscoMemoryPoolLowMemoryRecoveryNotif will be generated."
221    ::= { ciscoMemoryPoolEntry 8 }
222
223
224
225ciscoMemoryPoolUtilizationTable OBJECT-TYPE
226    SYNTAX          SEQUENCE OF CiscoMemoryPoolUtilizationEntry
227    MAX-ACCESS      not-accessible
228    STATUS          current
229    DESCRIPTION
230        "A table of memory pool utilization entries. Each of the
231        objects provides a general idea of how much of the memory
232        pool has been used over a given period of time. It is
233        determined as a weighted decaying average."
234    ::= { ciscoMemoryPoolObjects 2 }
235
236ciscoMemoryPoolUtilizationEntry OBJECT-TYPE
237    SYNTAX          CiscoMemoryPoolUtilizationEntry
238    MAX-ACCESS      not-accessible
239    STATUS          current
240    DESCRIPTION
241        "An entry in the memory pool utilization table."
242    AUGMENTS           { ciscoMemoryPoolEntry  }
243    ::= { ciscoMemoryPoolUtilizationTable 1 }
244
245CiscoMemoryPoolUtilizationEntry ::= SEQUENCE {
246        ciscoMemoryPoolUtilization1Min  Percent,
247        ciscoMemoryPoolUtilization5Min  Percent,
248        ciscoMemoryPoolUtilization10Min Percent
249}
250
251ciscoMemoryPoolUtilization1Min OBJECT-TYPE
252    SYNTAX          Percent
253    MAX-ACCESS      read-only
254    STATUS          current
255    DESCRIPTION
256        "This is the memory pool utilization for 1 minute."
257    ::= { ciscoMemoryPoolUtilizationEntry 1 }
258
259ciscoMemoryPoolUtilization5Min OBJECT-TYPE
260    SYNTAX          Percent
261    MAX-ACCESS      read-only
262    STATUS          current
263    DESCRIPTION
264        "This is the memory pool utilization for 5 minutes."
265    ::= { ciscoMemoryPoolUtilizationEntry 2 }
266
267ciscoMemoryPoolUtilization10Min OBJECT-TYPE
268    SYNTAX          Percent
269    MAX-ACCESS      read-only
270    STATUS          current
271    DESCRIPTION
272        "This is the memory pool utilization for 10 minutes."
273    ::= { ciscoMemoryPoolUtilizationEntry 3 }
274
275
276
277ciscoMemoryPoolLowMemoryNotifEnable OBJECT-TYPE
278    SYNTAX          TruthValue
279    MAX-ACCESS      read-write
280    STATUS          current
281    DESCRIPTION
282        "This object is used to enable or disable the generation of
283        notification when the available memory in the system has fallen
284        below ciscoMemoryPoolLowMemoryNotifThreshold and on recovery.
285
286        Setting this object to 'true' will generate
287        ciscoMemoryPoolLowMemoryNotif and
288        ciscoMemoryPoolLowMemoryRecoveryNotif.
289
290        Setting this object to 'false' will disable the generation of
291        ciscoMemoryPoolLowMemoryNotif and
292        ciscoMemoryPoolLowMemoryRecoveryNotif."
293    ::= { ciscoMemoryPoolObjects 3 }
294-- notifications
295
296ciscoMemoryPoolNotifications  OBJECT IDENTIFIER
297    ::= { ciscoMemoryPoolMIB 2 }
298
299ciscoMemoryPoolMIBNotificationPrefix  OBJECT IDENTIFIER
300    ::= { ciscoMemoryPoolNotifications 0 }
301
302
303ciscoMemoryPoolLowMemoryNotif NOTIFICATION-TYPE
304    OBJECTS         {
305                        ciscoMemoryPoolName,
306                        ciscoMemoryPoolUsed
307                    }
308    STATUS          current
309    DESCRIPTION
310        "This notification is generated when the percentage of free
311        memory in the system has fallen below
312        ciscoMemoryPoolLowMemoryNotifThreshold and when the value of
313        ciscoMemoryPoolLowMemoryNotifEnable is set to 'true'.
314
315        ciscoMemoryPoolName indicates the name of the memory pool for
316        which the notification is being generated.
317
318        ciscoMemoryPoolUsed indicates the used memory in bytes for the
319        memory pool."
320   ::= { ciscoMemoryPoolMIBNotificationPrefix 1 }
321
322ciscoMemoryPoolLowMemoryRecoveryNotif NOTIFICATION-TYPE
323    OBJECTS         {
324                        ciscoMemoryPoolName,
325                        ciscoMemoryPoolUsed
326                    }
327    STATUS          current
328    DESCRIPTION
329        "This notification is generated when the percentage of free
330        memory in the system has returned to
331        ciscoMemoryPoolLowMemoryNotifThreshold after suffering from a
332        low memory. This notification is generated when the value of
333        ciscoMemoryPoolLowMemoryNotifEnable is set to 'true'. This
334        notification is generated as a recovery notification for
335        ciscoMemoryPoolLowMemoryNotif.
336
337        ciscoMemoryPoolName indicates the name of the memory pool for
338        which the notification is being generated.
339
340        ciscoMemoryPoolUsed indicates the used memory in bytes for the
341        memory pool."
342   ::= { ciscoMemoryPoolMIBNotificationPrefix 2 }
343-- conformance information
344
345ciscoMemoryPoolConformance  OBJECT IDENTIFIER
346    ::= { ciscoMemoryPoolMIB 3 }
347
348ciscoMemoryPoolCompliances  OBJECT IDENTIFIER
349    ::= { ciscoMemoryPoolConformance 1 }
350
351ciscoMemoryPoolGroups  OBJECT IDENTIFIER
352    ::= { ciscoMemoryPoolConformance 2 }
353
354
355-- compliance statements
356
357ciscoMemoryPoolCompliance MODULE-COMPLIANCE
358    STATUS          deprecated
359    DESCRIPTION
360        "The compliance statement for entities which implement
361        the Cisco Memory Pool MIB"
362    MODULE          -- this module
363    MANDATORY-GROUPS { ciscoMemoryPoolGroup }
364    ::= { ciscoMemoryPoolCompliances 1 }
365
366ciscoMemoryPoolComplianceRev1 MODULE-COMPLIANCE
367    STATUS          deprecated
368    DESCRIPTION
369        "The compliance statement for entities which implement
370        the Cisco Memory Pool MIB"
371    MODULE          -- this module
372    MANDATORY-GROUPS { ciscoMemoryPoolGroup }
373
374    GROUP           ciscoMemoryPoolUtilizationGroup
375    DESCRIPTION
376        "Per memory pool utilization statistics is mandatory for
377        the managed system that supports memory pool utilization."
378    ::= { ciscoMemoryPoolCompliances 2 }
379
380ciscoMemoryPoolComplianceRev2 MODULE-COMPLIANCE
381    STATUS          current
382    DESCRIPTION
383        "The compliance statement for entities which implement
384        the Cisco Memory Pool MIB"
385    MODULE          -- this module
386    MANDATORY-GROUPS { ciscoMemoryPoolGroupRev1 }
387
388    GROUP           ciscoMemoryPoolUtilizationGroup
389    DESCRIPTION
390        "Per memory pool utilization statistics is mandatory for
391        the managed system that supports memory pool utilization."
392
393    GROUP           ciscoMemoryPoolNotificationGroup
394    DESCRIPTION
395        "ciscoMemoryPoolNotificationGroup is mandatory for the managed
396        system that supports memory pool notifications."
397
398    GROUP           ciscoMemoryPoolNotificationCtrlGroup
399    DESCRIPTION
400        "ciscoMemoryPoolNotificationCtrlGroup is mandatory for the
401        managed system that supports memory pool notifications."
402    ::= { ciscoMemoryPoolCompliances 3 }
403
404-- units of conformance
405
406ciscoMemoryPoolGroup OBJECT-GROUP
407    OBJECTS         {
408                        ciscoMemoryPoolName,
409                        ciscoMemoryPoolAlternate,
410                        ciscoMemoryPoolValid,
411                        ciscoMemoryPoolUsed,
412                        ciscoMemoryPoolFree,
413                        ciscoMemoryPoolLargestFree
414                    }
415    STATUS          deprecated
416    DESCRIPTION
417        "A collection of objects providing memory pool monitoring."
418    ::= { ciscoMemoryPoolGroups 1 }
419
420ciscoMemoryPoolUtilizationGroup OBJECT-GROUP
421    OBJECTS         {
422                        ciscoMemoryPoolUtilization1Min,
423                        ciscoMemoryPoolUtilization5Min,
424                        ciscoMemoryPoolUtilization10Min
425                    }
426    STATUS          current
427    DESCRIPTION
428        "An optional group providing a collection of memory pool
429        utilization objects."
430    ::= { ciscoMemoryPoolGroups 2 }
431
432ciscoMemoryPoolNotificationGroup NOTIFICATION-GROUP
433   NOTIFICATIONS    {
434                        ciscoMemoryPoolLowMemoryNotif,
435                        ciscoMemoryPoolLowMemoryRecoveryNotif
436                    }
437    STATUS          current
438    DESCRIPTION
439        "A collection of all the notifications supported in the
440        CISCO-MEMORY-POOL-MIB."
441    ::= { ciscoMemoryPoolGroups 3 }
442
443ciscoMemoryPoolNotificationCtrlGroup OBJECT-GROUP
444    OBJECTS         { ciscoMemoryPoolLowMemoryNotifEnable }
445    STATUS          current
446    DESCRIPTION
447        "A collection of all the notification control objects."
448    ::= { ciscoMemoryPoolGroups 4 }
449
450ciscoMemoryPoolGroupRev1 OBJECT-GROUP
451    OBJECTS         {
452                        ciscoMemoryPoolName,
453                        ciscoMemoryPoolAlternate,
454                        ciscoMemoryPoolValid,
455                        ciscoMemoryPoolUsed,
456                        ciscoMemoryPoolFree,
457                        ciscoMemoryPoolLargestFree,
458                        ciscoMemoryPoolLowMemoryNotifThreshold
459                    }
460    STATUS          current
461    DESCRIPTION
462        "A collection of objects providing memory pool monitoring."
463    ::= { ciscoMemoryPoolGroups 5 }
464
465END
466
467
468
469
470
471
472
473
474
475
476