JINFO(1)

πŸ“¦ version 21.0.12.1.1, in centos-stream 10, opensuse-leap 16.0

πŸ‘‘ JINFO(1) β€” the JDK Commands era, bestie

okay so before we even start, grab a snack πŸ“ because we're talking about jinfo, and she's that girl for peeking at what a running Java process is actually thinking. Also heads up: she's from the JDK Commands family, so she rolls with the cool JDK kids πŸ’…


✨ NAME ✨

jinfo β€” literally generates Java configuration information for a Java process you point at. that's it, that's the vibe 🫢


🌸 SYNOPSIS 🌸

⚠️ real talk first: this command is experimental and unsupported. not me warning you before the code block 😭
jinfo [option] pid
  • option β€” this is where the jinfo command-line options go. peek at Options for the jinfo Command below, iykyk πŸ‘€
  • pid β€” the process ID you want the configuration info printed for. and it must be a Java process, no cap. to get a list of Java processes running on a machine, use the ps command, or β€” if the JVM processes aren't running in a separate docker instance β€” the jps command. easy πŸ’«

πŸ¦‹ DESCRIPTION πŸ¦‹

so what does jinfo actually do? she prints Java configuration information for a specified Java process. and that configuration info includes Java system properties and JVM command-line flags. iconic, honestly ✨

here's the lil catch, bestie: if the specified process is running on a 64-bit JVM, then you might need to specify the -J-d64 option. like this, exactly:

jinfo -J-d64 -sysprops pid
🚨 okay serious moment: this command is unsupported and might not be available in future releases of the JDK. don't get attached, fr fr πŸ’€

and on Windows Systems where dbgeng.dll is not present, the Debugging Tools for Windows must be installed to have these tools work. also, the PATH environment variable should contain the location of the jvm.dll that's used by the target process β€” or the location from which the core dump file was produced. yes, that whole sentence matters, write it down πŸŽ€


πŸ’… OPTIONS FOR THE jinfo COMMAND πŸ’…

πŸ‘‘ Note: if none of the following options are used, both the command-line flags and the system property name-value pairs are printed. so doing nothing still gives you everything, main character energy honestly 🌈
  • -flag name β€” prints the name and value of the specified command-line flag. just a peek πŸ‘€
  • -flag [+|-]name β€” enables or disables the specified Boolean command-line flag. toggle time πŸ”₯
  • -flag name=value β€” sets the specified command-line flag to the specified value. you're in charge now πŸ’œ
  • -flags β€” prints command-line flags passed to the JVM.
  • -sysprops β€” prints Java system properties as name-value pairs.
  • -h or -help β€” prints a help message. always here for you 🫢

πŸŽ€ a lil sign-off πŸŽ€

this page came from JDK 21, dated 2023, and lives its life as JINFO(1). slay, go check your JVM's vibe, and remember: experimental means handle with care πŸ’–βœ¨

πŸ“¦ where this page comes from