【发布时间】:2018-07-15 15:43:51
【问题描述】:
我想从在 JVM 上运行的程序中获取 GC 日志。我知道有可能让那些使用
-Xloggc:GCLog.txt -verbose:gc -XX:+PrintGCDateStamps -XX:+UseSerialGC
使用运行应用程序时的参数
java -jar "jar_file".
但在这种情况下,我不能通过提供参数以这种方式运行程序,而是有办法在运行应用程序之前指定它们吗?
例如,我们可以使用导出设置Xmx、Xms 值
JVM_MEM_OPTS="-Xms100m -Xmx100m"
在运行java应用程序之前。)是否有类似的方法在运行应用程序之前指定GC参数。
谢谢
【问题讨论】:
-
看起来 java exec 有一个包装器。您是否将指定的 GC JVM 标志添加到 JVM_MEM_OPTS 变量中,以及 java 包装器中是否还有其他环境变量;例如JAVA_OPTS ?您需要查看 java 包装器以及 java 可执行文件是如何被调用的。
-
JVM 不读取
JVM_MEM_OPTS变量。使用某些参数启动 JVM 是 Java 启动器的工作。由于您使用非标准 Java 启动器,因此您需要查阅该启动器的文档。你是怎么知道JVM_MEM_OPTS的? -
HotSpot JVM 读取
JAVA_TOOL_OPTIONS和_JAVA_OPTIONS变量。您可以尝试其中一种。
标签: java garbage-collection jvm