Java堆大小值不会发生变化

时间:2017-05-19 13:58:25

标签: java spring-boot

我在spring启动应用程序中使用下面的命令设置了java堆大小。

java -XX:+PrintFlagsFinal -version | grep -iE 'HeapSize|PermSize|ThreadStackSize'

但是当我使用下面的命令再次检查尺寸时,我看不到值会改变吗?

Traceback (most recent call last):
  File "<stdin>", line 16, in <module>
__main__.RuntimeException: Binary URP bridge disposed during call

shell returned 1

1 个答案:

答案 0 :(得分:2)

您不是再次检查堆大小。第二个命令启动一个单独的Java进程,因此将以默认堆大小开始(因为您尚未向其提供Xms/Xmx)。第二个进程在打印版本后立即退出。

要检查已运行的Java进程的堆大小,可以执行以下操作之一:

  • 使用profiler,JMX,
  • 连接到正在运行的JVM
  • 在正在运行的程序中,调用Runtime.getRuntime().totalMemory/maxMemory
  • 使用jcmdjstat工具(两者都属于JDK)。