Class UnixExtendedOperatingSystem
java.lang.Object
com.ibm.lang.management.internal.ExtendedOperatingSystemMXBeanImpl
com.ibm.lang.management.internal.UnixExtendedOperatingSystem
- All Implemented Interfaces:
OperatingSystemMXBean, UnixOperatingSystemMXBean, OperatingSystemMXBean, UnixOperatingSystemMXBean, OperatingSystemMXBean, PlatformManagedObject, NotificationBroadcaster, NotificationEmitter
public final class UnixExtendedOperatingSystem
extends ExtendedOperatingSystemMXBeanImpl
implements UnixOperatingSystemMXBean
-
Method Summary
Modifier and TypeMethodDescriptionvoidaddNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback) Adds a listener to this MBean.final StringgetArch()Returns the operating system architecture.final intReturns the number of processors available to the Java virtual machine.static UnixExtendedOperatingSystemlongReturns the maximum number of file descriptors that can be opened in a process.final StringgetName()Returns the operating system name.final ObjectNameReturns anObjectNameinstance representing the object name of this platform managed object.longReturns the current number of file descriptors that are in opened state.final doubleReturns the system load average for the last minute.final StringReturns the operating system version.final voidRemoves a listener from this MBean.final voidremoveNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback) Removes a listener from this MBean.final voidsendNotification(Notification notification) Send notifications to registered listeners.Methods declared in class ExtendedOperatingSystemMXBeanImpl
getCommittedVirtualMemorySize, getCpuLoad, getFreeMemorySize, getFreeSwapSpaceSize, getHardwareModel, getNotificationInfo, getProcessCpuLoad, getProcessCpuTime, getProcessingCapacity, getProcessPhysicalMemorySize, getProcessPrivateMemorySize, getTotalMemorySize, getTotalSwapSpaceSize, isHardwareEmulated, isProcessRunning, retrieveMemoryUsage, retrieveMemoryUsage, retrieveProcessorUsage, retrieveProcessorUsage, retrieveTotalProcessorUsage, retrieveTotalProcessorUsageModifier and TypeMethodDescriptionlongReturns the amount of virtual memory used by the process in bytes.final doubleReturns the "recent CPU usage" for the operating environment.longReturns the amount of free memory in bytes.final longReturns the amount of free swap space in bytes.final StringRetrieve hardware modelfinal MBeanNotificationInfo[]Returns an array indicating, for each notification this MBean may send, the name of the Java class of the notification and the notification type.final doubleReturns the recent CPU usage for the Java Virtual Machine process.final longReturns total amount of time the process has been scheduled or executed so far in both kernel and user modes.final intReturns the collective capacity of the virtual processors in the partition the VM is running in.final longReturns the amount of physical memory being used by the process in bytes.final longReturns the amount of private memory used by the process in bytes.longReturns the total amount of memory in bytes.final longReturns the total amount of swap space in bytes.final booleanIdentify whether the underlying hardware is being emulatedbooleanisProcessRunning(long pid) Indicates if the specified process is runningfinal MemoryUsageInstantiates and returns an instance ofMemoryUsageobject that represents the current snapshot of Memory usage statistics.final MemoryUsageretrieveMemoryUsage(MemoryUsage memoryUsageObj) Returns an updatedMemoryUsageobject that represents the current snapshot of Memory usage statistics.final ProcessorUsage[]Instantiates and returns an array ofProcessorUsageobjects that represent the current snapshot of individual Processor usage times.final ProcessorUsage[]retrieveProcessorUsage(ProcessorUsage[] procUsageArr) Returns an updated array ofProcessorUsageobjects that represent the current snapshot of individual Processor usage times.final ProcessorUsageInstantiate and return a newProcessorUsageobject that represents the current snapshot of Processor usage statistics.final ProcessorUsageretrieveTotalProcessorUsage(ProcessorUsage procUsageObj) Returns an updatedProcessorUsageobject that represents the current snapshot of Processor usage statistics.Methods declared in class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods declared in interface OperatingSystemMXBean
getFreePhysicalMemorySize, getSystemCpuLoad, getTotalPhysicalMemorySize
-
Method Details
-
getInstance
-
getMaxFileDescriptorCount
public long getMaxFileDescriptorCount()Returns the maximum number of file descriptors that can be opened in a process.- Specified by:
getMaxFileDescriptorCountin interfaceUnixOperatingSystemMXBean- Specified by:
getMaxFileDescriptorCountin interfaceUnixOperatingSystemMXBean- Returns:
- The maximum number of file descriptors that can be opened in a process or -1, if an error occurred while obtaining this. If the operating system doesn't have any limits configured, Long.MAX_VALUE is returned.
-
getOpenFileDescriptorCount
public long getOpenFileDescriptorCount()Returns the current number of file descriptors that are in opened state.- Specified by:
getOpenFileDescriptorCountin interfaceUnixOperatingSystemMXBean- Specified by:
getOpenFileDescriptorCountin interfaceUnixOperatingSystemMXBean- Returns:
- The current number of file descriptors that are in opened state or -1, if an error occurred while obtaining this.
-
getArch
Returns the operating system architecture. This method is equivalent toSystem.getProperty("os.arch").- Specified by:
getArchin interfaceOperatingSystemMXBean- Returns:
- the operating system architecture.
- See Also:
-
getAvailableProcessors
public final int getAvailableProcessors()Returns the number of processors available to the Java virtual machine. This method is equivalent to theRuntime.availableProcessors()method.This value may change during a particular invocation of the virtual machine.
- Specified by:
getAvailableProcessorsin interfaceOperatingSystemMXBean- Returns:
- the number of processors available to the virtual machine; never smaller than one.
-
getName
Returns the operating system name. This method is equivalent toSystem.getProperty("os.name").- Specified by:
getNamein interfaceOperatingSystemMXBean- Returns:
- the operating system name.
- See Also:
-
getObjectName
Returns anObjectNameinstance representing the object name of this platform managed object.- Specified by:
getObjectNamein interfacePlatformManagedObject- Returns:
- an
ObjectNameinstance representing the object name of this platform managed object.
-
getSystemLoadAverage
public final double getSystemLoadAverage()Returns the system load average for the last minute. The system load average is the sum of the number of runnable entities queued to the available processors and the number of runnable entities running on the available processors averaged over a period of time. The way in which the load average is calculated is operating system specific but is typically a damped time-dependent average.If the load average is not available, a negative value is returned.
This method is designed to provide a hint about the system load and may be queried frequently. The load average may be unavailable on some platform where it is expensive to implement this method.
- Specified by:
getSystemLoadAveragein interfaceOperatingSystemMXBean- Returns:
- the system load average; or a negative value if not available.
-
getVersion
Returns the operating system version. This method is equivalent toSystem.getProperty("os.version").- Specified by:
getVersionin interfaceOperatingSystemMXBean- Returns:
- the operating system version.
- See Also:
-
addNotificationListener
public void addNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback) throws IllegalArgumentException Adds a listener to this MBean.- Specified by:
addNotificationListenerin interfaceNotificationBroadcaster- Parameters:
listener- The listener object which will handle the notifications emitted by the broadcaster.filter- The filter object. If filter is null, no filtering will be performed before handling notifications.handback- An opaque object to be sent back to the listener when a notification is emitted. This object cannot be used by the Notification broadcaster object. It should be resent unchanged with the notification to the listener.- Throws:
IllegalArgumentException- Listener parameter is null.- See Also:
-
removeNotificationListener
public final void removeNotificationListener(NotificationListener listener) throws ListenerNotFoundException Removes a listener from this MBean. If the listener has been registered with different handback objects or notification filters, all entries corresponding to the listener will be removed.- Specified by:
removeNotificationListenerin interfaceNotificationBroadcaster- Parameters:
listener- A listener that was previously added to this MBean.- Throws:
ListenerNotFoundException- The listener is not registered with the MBean.- See Also:
-
removeNotificationListener
public final void removeNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback) throws ListenerNotFoundException Removes a listener from this MBean. The MBean must have a listener that exactly matches the given
listener,filter, andhandbackparameters. If there is more than one such listener, only one is removed.The
filterandhandbackparameters may be null if and only if they are null in a listener to be removed.- Specified by:
removeNotificationListenerin interfaceNotificationEmitter- Parameters:
listener- A listener that was previously added to this MBean.filter- The filter that was specified when the listener was added.handback- The handback that was specified when the listener was added.- Throws:
ListenerNotFoundException- The listener is not registered with the MBean, or it is not registered with the given filter and handback.
-
sendNotification
Send notifications to registered listeners.- Parameters:
notification- a notification to be sent
-