【问题标题】:i can't set -Xmx in java我无法在java中设置-Xmx
【发布时间】:2019-05-24 17:25:38
【问题描述】:

我使用 spring-boot 2。如果我这样做:

导出_JAVA_OPTIONS=-Xmx756m

然后:

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

 intx CompilerThreadStackSize                   = 0                                   {pd product}
uintx ErgoHeapSizeLimit                         = 0                                   {product}
uintx HeapSizePerGCThread                       = 87241520                            {product}
uintx InitialHeapSize                          := 16777216                            {product}
uintx LargePageHeapSizeThreshold                = 134217728                           {product}
uintx MaxHeapSize                              := 792723456                           {product}
 intx ThreadStackSize                           = 1024                                {pd product}
 intx VMThreadStackSize                         = 1024                                {pd product}

但是如果我重新加载控制台。 MaxHeapSize 被重置。

它什么也没改变:

java -XshowSettings:all
VM settings:
Max. Heap Size (Estimated): 237.81M
Ergonomics Machine Class: client
Using VM: OpenJDK 64-Bit Server VM

如果我这样做:

 nohup java -Dspring.profiles.active=dev -Xmx660m -jar /home/ec2-user/project.jar >test.out 2>&1 &

在文本输出中:

nohup: ignoring input
VM settings:
    Max. Heap Size: 660.00M
    Ergonomics Machine Class: client
    Using VM: OpenJDK 64-Bit Server VM

但是如果我手动输入java -XshowSettings:all 没有任何变化:

VM settings:
    Max. Heap Size (Estimated): 237.81M
    Ergonomics Machine Class: client
    Using VM: OpenJDK 64-Bit Server VM

和:

uintx MaxHeapSize                              := 257949696                           {product}

总内存:1gb

【问题讨论】:

  • "但是如果我重新加载控制台。MaxHeapSize 被重置。"当您“重新加载控制台”时,该环境变量是否仍然设置?您可能必须在一些启动或配置文件中设置它。
  • @Thilo 我必须在启动 jar 之前或之后导出 _JAVA_OPTIONS?
  • 必须在启动 Java 程序时设置。您无法更改已在运行的 JVM 的这些设置。

标签: java linux amazon-ec2 jvm


【解决方案1】:

但是如果我重新加载控制台。 MaxHeapSize 被重置。

这不是 JVM 的工作方式。为了使您的内存相关更改发生,必须重新启动 java 程序。 无法即时应用 jvm 设置

【讨论】:

  • 如果我先导出 _JAVA_OPTIONS=-Xmx756m 然后我启动 jar。同样的问题
猜你喜欢
  • 2011-11-19
  • 2011-10-19
  • 2020-06-14
  • 2015-10-10
  • 1970-01-01
  • 2015-07-07
  • 2021-11-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多