命令找出给定java进程的-Xms和-Xmx变量值?
我有一个java程序,我运行并用jps找出了它的进程ID。
我怎么能看到这个java进程的-Xms和-Xmx变量的值是什么?
我有一个java程序,我运行并用jps找出了它的进程ID。
我怎么能看到这个java进程的-Xms和-Xmx变量的值是什么?
尝试
jcmd <PID> VM.command_line
jcmd <PID> VM.flags
您可以使用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()