命令找出给定java进程的-Xms和-Xmx变量值?

2022-09-03 09:44:16

我有一个java程序,我运行并用jps找出了它的进程ID。

我怎么能看到这个java进程的-Xms和-Xmx变量的值是什么?


答案 1

尝试

jcmd <PID> VM.command_line
jcmd <PID> VM.flags

答案 2

您可以使用jps并从命令行执行此操作:

jps # shows pids
jps -v <pid> # shows params
jps -v <localhost:pid> # the host must be indicated

如果这还不够,您可以在程序中以编程方式执行此操作,以检查 Java 虚拟机将尝试使用的最大内存量

Runtime.getRuntime().maxMemory()

并且还可以使用类 MemoryUsage 来获取可用于内存管理的初始、已用和最大 ammount。

MemoryMXBean memoryBean = ManagementFactory.getMemoryMXBean();
    memoryBean.getHeapMemoryUsage().getMax()
    memoryBean.getHeapMemoryUsage().getUsed()
    memoryBean.getHeapMemoryUsage().getInit()

推荐