- All Superinterfaces:
PlatformManagedObject
Diagnostic management interface for the HotSpot Virtual Machine.
The diagnostic MBean is registered to the platform MBeanServer as are other platform MBeans.
The ObjectName
for uniquely identifying the diagnostic
MXBean within an MBeanServer is:
com.sun.management:type=HotSpotDiagnostic
It can be obtained by calling the
PlatformManagedObject.getObjectName()
method.
All methods throw a NullPointerException
if any input argument is
null
unless it's stated otherwise.- See Also:
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic enum
Thread dump format. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Dumps the heap to theoutputFile
file in the same format as the hprof heap dump.default void
dumpThreads
(String outputFile, HotSpotDiagnosticMXBean.ThreadDumpFormat format) Generate a thread dump to the given file in the given format.Returns a list ofVMOption
objects for all diagnostic options.getVMOption
(String name) Returns aVMOption
object for a VM option of the given name.void
setVMOption
(String name, String value) Sets a VM option of the given name to the specified value.Methods declared in interface java.lang.management.PlatformManagedObject
getObjectName
-
Method Details
-
dumpHeap
Dumps the heap to theoutputFile
file in the same format as the hprof heap dump.If this method is called remotely from another process, the heap dump output is written to a file named
outputFile
on the machine where the target VM is running. If outputFile is a relative path, it is relative to the working directory where the target VM was started.- Parameters:
outputFile
- the system-dependent filenamelive
- iftrue
dump only live objects i.e. objects that are reachable from others- Throws:
IOException
- if theoutputFile
already exists, cannot be created, opened, or written to.UnsupportedOperationException
- if this operation is not supported.IllegalArgumentException
- ifoutputFile
does not end with ".hprof" suffix.NullPointerException
- ifoutputFile
isnull
.SecurityException
- If a security manager exists and itsSecurityManager.checkWrite(java.lang.String)
method denies write access to the named file or the caller does not have ManagmentPermission("control").
-
getDiagnosticOptions
Returns a list ofVMOption
objects for all diagnostic options. A diagnostic option is awriteable
VM option that can be set dynamically mainly for troubleshooting and diagnosis.- Returns:
- a list of
VMOption
objects for all diagnostic options.
-
getVMOption
Returns aVMOption
object for a VM option of the given name.- Returns:
- a
VMOption
object for a VM option of the given name. - Throws:
NullPointerException
- if name isnull
.IllegalArgumentException
- if a VM option of the given name does not exist.
-
setVMOption
Sets a VM option of the given name to the specified value. The new value will be reflected in a newVMOption
object returned by thegetVMOption(java.lang.String)
method or thegetDiagnosticOptions()
method. This method does not change the value of thisVMOption
object.- Parameters:
name
- Name of a VM optionvalue
- New value of the VM option to be set- Throws:
IllegalArgumentException
- if the VM option of the given name does not exist.IllegalArgumentException
- if the new value is invalid.IllegalArgumentException
- if the VM option is not writable.NullPointerException
- if name or value isnull
.SecurityException
- if a security manager exists and the caller does not have ManagementPermission("control").
-
dumpThreads
default void dumpThreads(String outputFile, HotSpotDiagnosticMXBean.ThreadDumpFormat format) throws IOException Generate a thread dump to the given file in the given format. TheoutputFile
parameter must be an absolute path to a file that does not exist.The thread dump will include output for all platform threads. It may include output for some or all virtual threads.
- API Note:
- The output file is required to be an absolute path as the MXBean may be accessed remotely from a tool or program with a different current working directory.
- Implementation Requirements:
- The default implementation throws
UnsupportedOperationException
. - Parameters:
outputFile
- the path to the file to createformat
- the format to use- Throws:
IllegalArgumentException
- if the file path is not absoluteIOException
- if the file already exists or an I/O exception is thrown writing to the fileNullPointerException
- if either parameter isnull
SecurityException
- if a security manager is set and itsSecurityManager.checkWrite(java.lang.String)
method denies write access to the file orManagementPermission("control")
is deniedUnsupportedOperationException
- if this operation is not supported- Since:
- 21
-