JMX::Jmx4Perl::Alias - JMX alias names for jmx4perl


Aliases are shortcuts for certain MBean attributes and operations. Additionally, aliasing provides a thin abstraction layer which allows to map common functionality with different naming schemes across different application servers. E.g you can access the heap memory usage of your application by using the alias MEMORY_HEAP_USED regardless how the specific MBean and its attributes are named on the target application server. Specific JMX::Jmx4Perl::Product take care about this mapping.

Alias are normally named hierachically, from the most general to the most specific, where the parts are separate by underscore (_). I.e. OS_MEMORY_TOTAL_PHYSICAL specifies the total physical memory installed on the machine.

If you use this module, be aware that all aliases are imported in your name space a subroutines (so that you an use them without a $).

Most of the methods in JMX::Jmx4Perl which allows for aliases can take an alias in two forms. Either as a constant import by using this module or as string. The string can be either the name of the alias itself or, as an alternative format, a lower cased variant where underscores are replaced by colons. E.g "MEMORY_HEAP_USED" and "memory:heap:used" are both valid alias names.

Each alias is an object of the package JMX::Jmx4Perl::Alias::Object which provides some additional informations about the alias.

To print out all available aliases, sorted by name and with a short description, you can use the help subroutine, e.g. like in

  perl -MJMX::Jmx4Perl::Alias -e 'JMX::Jmx4Perl::Alias::help'


$alias = JMX::Jmx4Perl::Alias->by_name("MEMORY_HEAP_USAGE")

Get an alias object by a name lookup. The argument provided must be a string containing the name of an alias. If such an alias is not registered, this method returns undef.


Get all aliases defined, sorted by alias name.


Print out all registered aliases along with a short description


The currently aliases are as shown below. Note, that this information might be outdated, to get the current one, use

 perl -MJMX::Jmx4Perl::Alias -e 'JMX::Jmx4Perl::Alias::help'

 CL_LOADED                      attr Number of currently loaded classes
 CL_TOTAL                       attr Number of classes loaded in total
 CL_UNLOADED                    attr Number of unloaded classes
 JMX4PERL_DEBUG                 attr Switch on/off debugging by setting this boolean
 JMX4PERL_DEBUG_INFO            oper Print out latest debug info
 JMX4PERL_DEBUG_MAX_ENTRIES     attr Maximum number of entries for storing debug info
 JMX4PERL_HISTORY_MAX_ATTRIBUTE oper Set the size of the history for a specific attribute
 JMX4PERL_HISTORY_MAX_ENTRIES   attr Maximum number of entries per attribute/operation possible
 JMX4PERL_HISTORY_MAX_OPERATION oper Set the size of the history for a specific operation
 JMX4PERL_HISTORY_RESET         oper Reset the history for all attributes and operations
 JMX4PERL_HISTORY_SIZE          attr Size of the history of all attributes and operations in bytes
 JMX4PERL_SERVER_INFO           oper Show information about registered MBeanServers
 MEMORY_GC                      oper Run a garbage collection
 MEMORY_HEAP                    attr Heap memory usage, multiple values
 MEMORY_HEAP_COMITTED           attr Committed heap memory. That's the memory currently available for this JVM
 MEMORY_HEAP_INIT               attr Initially allocated heap memory
 MEMORY_HEAP_MAX                attr Maximum available heap memory
 MEMORY_HEAP_USED               attr Used heap memory
 MEMORY_NONHEAP                 attr Non-Heap memory usage, multiple values
 MEMORY_NONHEAP_COMITTED        attr Committed non-heap memory
 MEMORY_NONHEAP_INIT            attr Initially allocated non-heap memory
 MEMORY_NONHEAP_MAX             attr Maximum available non-heap memory
 MEMORY_NONHEAP_USED            attr Used non-heap memory (like a 'method area')
 MEMORY_VERBOSE                 attr Switch on/off verbose messages concerning the garbage collector
 OS_CPU_TIME                    attr The cpu time used by this process
 OS_FILE_DESC_MAX               attr Maximum number of open file descriptors
 OS_FILE_DESC_OPEN              attr Number of open file descriptors
 OS_INFO_ARCH                   attr Architecture
 OS_INFO_NAME                   attr Operating system name
 OS_INFO_PROCESSORS             attr Number of processors
 OS_INFO_VERSION                attr Operating system version
 OS_MEMORY_PHYSICAL_FREE        attr The amount of free physical memory for the OS
 OS_MEMORY_PHYSICAL_TOTAL       attr The amount of total physical memory for the OS
 OS_MEMORY_SWAP_FREE            attr The amount of free swap space for the OS
 OS_MEMORY_SWAP_TOTAL           attr The amount of total swap memory available
 OS_MEMORY_VIRTUAL              attr Size of virtual memory used by this process
 RUNTIME_ARGUMENTS              attr Arguments when starting the JVM
 RUNTIME_BOOTCLASSPATH          attr Bootclasspath
 RUNTIME_CLASSPATH              attr Classpath
 RUNTIME_NAME                   attr Name of the runtime
 RUNTIME_STARTTIME              attr Time when starting the JVM
 RUNTIME_SYSTEM_PROPERTIES      attr System properties
 RUNTIME_UPTIME                 attr Total uptime of JVM
 RUNTIME_VM_NAME                attr Name of JVM
 RUNTIME_VM_VENDOR              attr JVM Vendor
 RUNTIME_VM_VERSION             attr Version of JVM
 SERVER_ADDRESS                 attr IP Address of server, numeric
 SERVER_HOSTNAME                attr Hostname of server
 SERVER_NAME                    attr Name of server software
 SERVER_VERSION                 attr Version of application server
 THREAD_COUNT                   attr Active threads in the system
 THREAD_COUNT_DAEMON            attr Count of threads marked as daemons in the system
 THREAD_COUNT_PEAK              attr Peak thread count
 THREAD_COUNT_STARTED           attr Count of threads started since system start
 THREAD_DEADLOCKED              oper Find cycles of threads that are in deadlock waiting to acquire object monitors
 THREAD_DUMP                    oper Create a thread dump


This file is part of jmx4perl.

Jmx4perl is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.

jmx4perl is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with jmx4perl. If not, see <>.

A commercial license is available as well. Please contact for further details.


Just in case you need professional support for this module (or Nagios or JMX in general), you might want to have a look at Contact for further information (or use the contact form at