.'" t
."
." Copyright 2004-2006 Sun Microsystems, Inc.  All Rights Reserved.
." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
."
." This code is free software; you can redistribute it and/or modify it
." under the terms of the GNU General Public License version 2 only, as
." published by the Free Software Foundation.
."
." This code 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
." version 2 for more details (a copy is included in the LICENSE file that
." accompanied this code).
."
." You should have received a copy of the GNU General Public License version
." 2 along with this work; if not, write to the Free Software Foundation,
." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
."
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
." 
." `
.TH jconsole 1 "07 Aug 2006"
." Generated by html2man

.LP
.SH NAME
jconsole \- Java Monitoring and Management Console
.LP
.SH "SYNOPSIS"
.LP

.LP
.nf
\f3
.fl
\fP\f3jconsole\fP [ \f2options\fP ] [ connection ... ]
.fl

.fl
.fi

.LP
.SH "PARAMETERS"
.LP

.LP
.RS 3
.TP 3
options 
Options, if used, should follow immediately after the command name. 
.br
.TP 3
connection = pid | host:port | jmxUrl 
.RS 3
\f2pid\fP\ \ \  Process ID of a local Java VM. The Java VM must be running with the same user ID as the user ID running jconsole. See JMX Monitoring and Management for details. 
.br
\f2host\fP:\f2port\fP\ \  Name of the host system on which the Java VM is running and the port number specified by the system property \f2com.sun.management.jmxremote.port\fP when the Java VM was started. See JMX Monitoring and Management for details. 
.br
\f2jmxUrl\fP\ \  Address of the JMX agent to be connected to as described in JMXServiceURL. 
.RE
.RE

.LP
.SH "DESCRIPTION"
.LP

.LP
.LP
The \f3jconsole\fP command launches a graphical console tool that enables you to monitor and manage Java applications and virtual machines on a local or remote machine.
.LP
.LP
On Windows, \f3jconsole\fP does not associate with a console window. It will, however, display a dialog box with error information if the \f3jconsole\fP command fails for some reason.
.LP
.SH "OPTIONS"
.LP

.LP
.RS 3
.TP 3
\-interval=n 
Set the update interval to \f2n\fP seconds (default is 4 seconds). 
.TP 3
\-notile\  
Do not tile windows initially (for two or more connections). 
.TP 3
\-pluginpath\  plugins 
Specify a list of directories or JAR files which are searched for JConsole plugins. The \f2plugins\fP path should contain a provider\-configuration file named:
.br
.nf
\f3
.fl
   META\-INF/services/com.sun.tools.jconsole.JConsolePlugin
.fl
\fP
.fi
.LP
containing one line for each plugin specifying the fully qualified class name of the class implementing the  com.sun.tools.jconsole.JConsolePlugin class.  
.TP 3
\-version\  
Output version information and exit. 
.TP 3
\-help\  
Output help message and exit. 
.TP 3
\-J<flag>\  
Pass <flag> to the Java virtual machine on which jconsole is run. 
.RE

.LP
.SH "SEE ALSO"
.LP
.RS 3
.TP 2
o
Using JConsole 
.TP 2
o
Monitoring and Management for Java Platform 
.RE

.LP

.LP
 
