.\" Copyright (c) 2004, 2018, Oracle and/or its affiliates. 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
.\" or visit www.oracle.com if you need additional information or have any
.\" questions.
.\"
.\" Automatically generated by Pandoc 2.3.1
.\"
.TH "JINFO" "1" "2021" "JDK 17" "JDK Commands"
.hy
.SH NAME
.PP
jinfo \- generate Java configuration information for a specified Java
process
.SH SYNOPSIS
.PP
\f[B]Note:\f[R] This command is experimental and unsupported.
.PP
\f[CB]jinfo\f[R] [\f[I]option\f[R]] \f[I]pid\f[R]
.TP
.B \f[I]option\f[R]
This represents the \f[CB]jinfo\f[R] command\-line options.
See \f[B]Options for the jinfo Command\f[R].
.RS
.RE
.TP
.B \f[I]pid\f[R]
The process ID for which the configuration information is to be printed.
The process must be a Java process.
To get a list of Java processes running on a machine, use either the
\f[CB]ps\f[R] command or, if the JVM processes are not running in a
separate docker instance, the \f[B]jps\f[R] command.
.RS
.RE
.SH DESCRIPTION
.PP
The \f[CB]jinfo\f[R] command prints Java configuration information for a
specified Java process.
The configuration information includes Java system properties and JVM
command\-line flags.
If the specified process is running on a 64\-bit JVM, then you might
need to specify the \f[CB]\-J\-d64\f[R] option, for example:
.RS
.PP
\f[CB]jinfo\ \-J\-d64\ \-sysprops\f[R] \f[I]pid\f[R]
.RE
.PP
This command is unsupported and might not be available in future
releases of the JDK.
In Windows Systems where \f[CB]dbgeng.dll\f[R] is not present, the
Debugging Tools for Windows must be installed to have these tools work.
The \f[CB]PATH\f[R] environment variable should contain the location of
the \f[CB]jvm.dll\f[R] that\[aq]s used by the target process or the
location from which the core dump file was produced.
.SH OPTIONS FOR THE JINFO COMMAND
.PP
\f[B]Note:\f[R]
.PP
If none of the following options are used, both the command\-line flags
and the system property name\-value pairs are printed.
.TP
.B \f[CB]\-flag\f[R] \f[I]name\f[R]
Prints the name and value of the specified command\-line flag.
.RS
.RE
.TP
.B \f[CB]\-flag\f[R] [\f[CB]+\f[R]|\f[CB]\-\f[R]]\f[I]name\f[R]
Enables or disables the specified Boolean command\-line flag.
.RS
.RE
.TP
.B \f[CB]\-flag\f[R] \f[I]name\f[R]\f[CB]=\f[R]\f[I]value\f[R]
Sets the specified command\-line flag to the specified value.
.RS
.RE
.TP
.B \f[CB]\-flags\f[R]
Prints command\-line flags passed to the JVM.
.RS
.RE
.TP
.B \f[CB]\-sysprops\f[R]
Prints Java system properties as name\-value pairs.
.RS
.RE
.TP
.B \f[CB]\-h\f[R] or \f[CB]\-help\f[R]
Prints a help message.
.RS
.RE
