NAME

meminfo - Plugin to monitor memory usage.

WARNING

Do not enable this plugin unless you need it. It alone produces significantly more data than any normal munin-node in sum. Therefore it is not autimatically enabled.

APPLICABLE SYSTEMS

All Linux systems

INTERPRETATION

This plugin show many graphs (on my pc ~90 graphs with total ~750 values). Graph splitted to 8 groups, every group has child graphs:

  Application groups memory usage                  - show applications groups memory using by group (env.) [env.applications_group]
    Group `groupName1` applications memory usage     v
    ...                                            - show applications groups memory using per application in every group
    Group `groupNameX` applications memory usage     ^
    Summary group `groupName1` memory usage          v
    ...                                            - show applications groups memory using as summ of every parametr of application in every group
    Summary group `groupNameX` memory usage          ^
  Application memory usage                         - show memory usage per application [env.applications]
    Application processes                          - show processes count of every application
    Summary `applicationName1` memory usage          v
    ...                                            - Summary application processes memory using
    Summary `applicationNameX` memory usage          ^
  External fragmentation: Buddyinfo                - Buddyinfo/ Nodes and zones summary
     Node X, zone ZZZ                              - Chunks for each zone
  External fragmentation: Page type info           - Page type info, summary node-zone-type pages
    Node X, zone ZZZ, type TTT                     - Free pages per node-zone-page by order
  Physical memory usage                            - Main graph, show phisical memory usage
    Active/Inactive memory                         - subj :)
    Memory usage by cashes and buffers             - subj :)
    mmap                                           - mmapp'ed memory
    HugePages count                                - subj :)
    HugePages size                                 - subj :)
    Kernel memory                                  - subj :)
    Low and high memory                            - subj :)
  Slab objects size                                - subj :)
    Slabs size [GroupName1]                          v
    ...                                            - show slabs size. I try split fields by this types. 
    Slabs size [GroupNameX]                          ^
    Slabs sizes of groups                          - "Groups" sizes
    Slab objects                                   - Active/inactive objects
    Slabs                                          - Active/inactive and shared slabs
    Reclaim                                        - Reclaimed
  Swap usage                                       - subj :)
    First candidates to swap out                   - subj :)
    Writeback                                      - writeback and dirty
  Virtual memory usage                             - subj :)
    Vmalloc                                        - show vmalloc usage
    Vmalloc allocates                              - allocates per object

CONFIGURATION

The plugin automatically selects which graphics drawing. But you can select graphs to draw by enabled_graphs environment. enabled_graphs is a regexp, where you include graphs to draw.

Default: undefined

Examples:

  env.enabled_graphs meminfo_\w+\.?       # Draw only meminfo graphs
  env.enabled_graphs (meminfo|swapinfo)$  # Draw only meminfo and swapinfo graphs, without 'childs'

Also you can select applications to monitor it by applications environment applications environment is regexp

Default: undefined

Examples:

  env.applications (firefox|\w{1,3}?sh) # Monitor firefox and shells (bash, zsh, sh, etc...)

Also you can group applications and show memory using of this groups, per application in group and summmary applications in group. Use env.applications_group for this.

Format: env.applications_group regexp:groupName;regexp:groupName;...

where regexp - it applications names regexp, and groupName - on-screen group name

Default: undefined

Examples:

  env.applications_group ^(firefox|chrome|opera|konqu|arora):Browsers;(^lx|openbox|menu|gnome|slim|^X):X;^(hal|console-kit|syslog|cron|dhcp|udev|dbus|bluetoo|agett|login|automount):System;

And you can select time to display data after application close (all values return as 'NaN'), for this you must used environment env.application_wait Value - secunds

Default: 1800

Example:

  env.application_wait 86400 #24h

PERMISSIONS NOTE

Please check, can your munin user read files such as

  /proc/meminfo
  /proc/slabinfo
  /proc/vmallocinfo
  /proc/buddyinfo
  /proc/pagetypeinfo
  /proc/[pid]/status

If no access, just write in plugin-config

  [meminfo]
  user root
  group root

WARNING AND CRITICAL SETTINGS

You can set warning and critical levels for *each* of the data series the plugin reports.

Template for limits:

  env.limit_%field% (warning_num:crytical_num|critical_num)[kMG]

where %field% - field name. You can see it in graph view, 'field internal name' field

  warning_num - number, warning value
  crytical_num - number, critical value
  k - kilobytes, M - megabytes, G - gigabytes

Examples:

  env.limit_apps 300M:500M    # Applications, warning - 300M, critical - 500m
  env.limit_committed_as 700M # Committed AS, critical - 700M

MAGIC MARKERS

  #%# family=contrib
  #%# capabilities=autoconf

VERSION

  1.0

BUGS

none known

AUTHOR

Gorlow Maxim aka Sheridan <sheridan@sheridan-home.ru> (email and jabber)

LICENSE

GPLv2