jinfo(1)

πŸ“¦ version 8.504.u01, in arch rolling

✨ jinfo(1) ✨

okay so bestie, you're looking at jinfo from the Troubleshooting Tools lineup β€” the little icon that spills all the tea about how a JVM is configured πŸ’…

🌸 NAME 🌸

jinfo β€” generates configuration information. that's the whole job. this command is experimental and unsupported tho, so like… don't build your whole personality on it πŸ™ˆ

πŸ¦‹ SYNOPSIS πŸ¦‹

jinfo [ option ] pid
jinfo [ option ] executable core
jinfo [ option ] [ servier-id ] remote-hostname-or-IP

so real talk, here's what those pieces mean:

  • option β€” the command-line options. see Options below, i gotchu.
  • pid β€” the process ID of the process you want configuration info printed for. it must be a Java process, no cap. need a list of Java processes chillin' on the machine? go hit up jps(1) πŸ’œ
  • executable β€” the Java executable that the core dump was produced from.
  • core β€” the core file you want the configuration information printed for.
  • remote-hostname-or-IP β€” the hostname or IP address of the remote debug server. peep jsadebugd(1) for that one.
  • server-id β€” an optional unique ID, used when multiple debug servers are running on the same remote host. (the original spells it servier-id up there in the synopsis, and honestly? iconic typo, we keep it, we don't fix it πŸŽ€)

πŸ’– DESCRIPTION πŸ’–

jinfo prints Java configuration information for a Java process, a core file, or a remote debug server that you point it at. what even is "configuration information"? it's the Java system properties plus the Java Virtual Machine (JVM) command-line flags β€” the receipts, basically 🧾✨

here's the vibe check on 64-bit: if the process you're specifying is running on a 64-bit JVM, you might need to pass the -J-d64 option. like, for example:

jinfo-J-d64 -sysprops pid

(yes, that's exactly how it's written in the source, no space, and no i am not touching it β€” copy it exactly, bestie 😭)

⚠️ major disclaimer time: this utility is unsupported and might not be available in future releases of the JDK. so like… enjoy it while it lasts πŸ’€

on Windows systems where dbgeng.dll is not present, you have to install Debugging Tools For Windows to get these tools working. also, your PATH environment variable should contain the location of the jvm.dll that's used by the target process β€” or the location from which the crash dump file was produced. for example:

set PATH=%JDK_HOME%\jre\bin\client;%PATH%

like, actually set it, don't just look at it 🫢

πŸ‘‘ OPTIONS πŸ‘‘

  • no-option β€” prints both the command-line flags and the system property name-value pairs. the full combo platter, we love a two-for-one πŸ“
  • -flag name β€” prints the name and the value of the command-line flag you named.
  • -flag [+|-]name β€” enables or disables that specified Boolean command-line flag. plus for on, minus for off, ur choice ✨
  • -flag name=value β€” sets the specified command-line flag to the specified value.
  • -flags β€” prints the command-line flags that were passed to the JVM.
  • -sysprops β€” prints the Java system properties as name-value pairs.
  • -h β€” prints a help message. classic.
  • -help β€” prints a help message too. same energy, longer name πŸ’…

🌈 SEE ALSO 🌈


that's the whole page, bestie, you ate that πŸŽ€ and for the sign-off: this lil masterpiece is from JDK 8, dated 21 November 2013 β€” vintage, honestly. periodt πŸ’œπŸ¦‹

πŸ“¦ where this page comes from
  • arch rolling: jdk8-openjdk 8.504.u01-1 Β· LicenseRef-Java
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms