我想从运行在JVM之上的程序获取GC日志。我知道有可能使用
-Xloggc:GCLog.txt -verbose:gc -XX:+PrintGCDateStamps -XX:+UseSerialGC
使用
运行应用程序时的参数java -jar "jar_file".
但是在这种情况下,我不能通过提供参数来以这种方式运行程序,而是可以在运行应用程序之前指定它们吗?
例如,我们可以使用export设置Xmx
,Xms
值
JVM_MEM_OPTS="-Xms100m -Xmx100m"
在运行Java应用程序之前。)是否有类似的方法可以在运行应用程序之前指定GC参数。
谢谢
答案 0 :(得分:0)
例如,我们可以使用导出设置Xmx,Xms值
JVM_MEM_OPTS =“-Xms100m -Xmx100m”
这种方法不是标准的,在Java文档中也没有引用。
JVM_MEM_OPTS
,JAVA_OPTS
或任何环境变量只会设置JVM选项,因为您用来启动JVM的工具/程序会在执行的java
命令的JVM选项中传输它。
例如,JAVA_OPTS
在Tomcat脚本中被识别(尤其是catalina.sh/bat)
。
-Xms100m -Xmx100m
和-Xloggc:GCLog.txt -verbose:gc -XX:+PrintGCDateStamps -XX:+UseSerialGC
是JVM options。
如果您不想直接在java命令中传递这些选项,则必须做为允许使用自定义环境变量的工具:创建一个脚本(特定于OS),使用此环境变量作为JVM选项,例如(Linux方式):
java $JAVA_OPTS -jar "jar_file"