
jconsole Command in Linux
The jconsole command in Linux is a graphical tool used in Linux to monitor and manage Java applications and Java Virtual Machines (JVMs).
The jconsole command comes with the Java Development Kit (JDK) and helps you provide real-time data on memory usage, thread activity, CPU usage and more. You can also use this command to connect both local and remote Java applications.
Table of Contents
Here is a comprehensive guide to the options available with the jconsole command −
Syntax of jconsole Command
The basic syntax to use the jconsole command is as follows −
jconsole [options] [connection]
Where,
- [options] are optional parameters used for customizing the behavior of command jconsole.
- [connection] is the connection address to the Java application or JVM you want to monitor. This can be a local process ID (PID) or a remote host and port.
Options jconsole Command
Here are some options available for the jconsole command in Linux −
Option | Description |
---|---|
-interval | Set how often the data is refreshed, in seconds. |
-notile | Turn off the tiled view in the MBeans tab. |
-pluginpath | Specify the directory to look for JConsole plugins. |
-version | Show the version information of jconsole. |
connection | The address of the Java application or JVM to connect to. |
pid | The process ID of the local Java application to monitor. |
host | The hostname of the remote machine running the JVM. |
port | The port number on the remote machine for the JVM connection. |
-J | Passes a specific flag directly to the JVM. |
Examples of jconsole Command in Linux
Before performing the examples, you will require the process ID (PID) of the Java application you are running. Make sure the application is running in the background, after that, simply use the following command to check for the PID apart from the Jps row.
jps

Here, 13376 is the PID we are going to use in the following examples −
- Connecting to a Local Java Process by PID
- Connecting to a Remote JVM
- Setting the Update Interval
- Disabling Tile View
- Specifying a Plugin Path
Connecting to a Local Java Process by PID
The jconsole command can be used to connect to a local Java process using its process ID (PID). This process is useful in case you want to monitor and manage the Java application running on your local machine. For example, to connect to a Java process with PID 13376, you can use −
jconsole 13376

Connecting to a Remote JVM
You can also use jconsole to connect to a remote Java Virtual Machine (JVM). This helps you monitor Java applications running on different machines. For instance, to connect to a JVM running on a remote host remote host at port 13376, run the following command −
jconsole remotehost:13376

Setting the Update Interval
You can also use the jconsole command with the -interval option to set how often the data is refreshed in JConsole. This can be useful for controlling the frequency of updates. For example, to set the update interval to 5 seconds for a Java process with PID 13376, use −
jconsole -interval=5 13376

Disabling Tile View
The command jconsole can also be used to disable the tile view in the MBeans tab of JConsole. It can be done by using the -notile option with the command. For example, to disable the tiled view for a Java process with PID 13376, you can use −
jconsole -notile 13376

Specifying a Plugin Path
For specifying a directory to search for JConsole plugins, you can use the -pluginpath option with the jconsole command. This is useful for extending the functionality of JConsole. For example, to specify the directory /path/to/plugins for a Java process with PID 13376, you can use −
jconsole -pluginpath /path/to/plugins 13376
Conclusion
The jconsole command in Linux is a versatile tool used for monitoring and managing Java applications and Java Virtual Machines (JVMs). This guide has explored the syntax, various options, and practical examples of using the jconsole command.
By mastering the jconsole command, you can effectively monitor memory usage, thread activity, and CPU usage, thereby making it easier to diagnose and optimize Java applications. Becoming proficient with jconsole can significantly enhance your productivity in managing and troubleshooting Java environments on a Linux system.