查看jvm的运行参数
【摘要】 查看jvm的运行参数有些时候我们需要查看jvm的运行参数,这个需求可能会存在2种情况:第一,运行java命令时打印出运行参数;第二,查看正在运行的java进程的参数; 运行java命令时打印参数运行java命令时打印参数,需要添加-XX:+PrintFlagsFinal参数即可。E:\jvm>java -XX:+PrintFlagsFinal -version[Global flags] ...
查看jvm的运行参数
有些时候我们需要查看jvm的运行参数,这个需求可能会存在2种情况:
第一,运行java命令时打印出运行参数;
第二,查看正在运行的java进程的参数;
运行java命令时打印参数
运行java命令时打印参数,需要添加-XX:+PrintFlagsFinal参数即可。
E:\jvm>java -XX:+PrintFlagsFinal -version
[Global flags]
uintx AdaptiveSizeDecrementScaleFactor = 4 {product}
uintx AdaptiveSizeMajorGCDecayTimeScale = 10 {product}
uintx AdaptiveSizePausePolicy = 0 {product}
uintx AdaptiveSizePolicyCollectionCostMargin = 50 {product}
....略...
uintx YoungPLABSize = 4096 {product}
bool ZeroTLAB = false {product}
intx hashCode = 5 {product}
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
由上述的信息可以看出,参数有boolean类型和数字类型,值的操作符是=或:=,分别代表默认值和被修改的值。
示例:
E:\jvm>java -XX:+PrintFlagsFinal -XX:+VerifySharedSpaces -version
intx ValueMapInitialSize = 11
{C1 product}
intx ValueMapMaxLoopSize = 8
{C1 product}
intx ValueSearchLimit = 1000
{C2 product}
bool VerifyMergedCPBytecodes = true
{product}
bool VerifySharedSpaces := true
{product}
intx hashCode = 5
{product} java version "1.8.0_141"
Java(TM) SE Runtime Environment (build 1.8.0_141‐b15)
Java HotSpot(TM) 64‐Bit Server VM (build 25.141‐b15, mixed mode)
#可以看到VerifySharedSpaces这个参数已经被修改了。
查看正在运行的jvm参数
如果想要查看正在运行的jvm就需要借助于jinfo
命令查看。
首先,启动一个tomcat用于测试,来观察下运行的jvm参数。
解压安装包,执行bin目录下的startup.bat(linux环境执行startup.sh)
访问成功:
通过jps
或者jps ‐l
查看java进程
E:\jvm>jps -l
17664
1000 org.jetbrains.idea.maven.server.RemoteMavenServer
23832 org.apache.catalina.startup.Bootstrap
14412 sun.tools.jps.Jps
查看所有的参数,用法:jinfo ‐flags <进程id>
E:\jvm> jinfo -flags 23832
Attaching to process ID 23832, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.171-b11
Non-default VM flags: -XX:CICompilerCount=4 -XX:InitialHeapSize=268435456
-XX:MaxHeapSize=4263510016 -XX:MaxNewSize=1420820480 -XX:MinHeapDeltaBytes=524288
-XX:NewSize=89128960 -XX:OldSize=179306496 -XX:+UseCompressedClassPointers -XX:+UseCompressedOops
-XX:+UseFastUnorderedTimeStamps -XX:-UseLargePagesIndividualAllocation -XX:+UseParallelGC
Command line: -Djdk.tls.ephemeralDHKeySize=2048 -Djava.util.logging.config.file=F:\developer\tomcat\apache-tomcat-7.0.70\conf\logging.properties
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=F:\developer\tomcat\apache-tomcat-7.0.70\endorsed
-Dcatalina.base=F:\developer\tomcat\apache-tomcat-7.0.70 -Dcatalina.home=F:\developer\tomcat\apache-tomcat-7.0.70 -Djava.io.tmpdir=F:\developer\tomcat\apache-tomcat-7.0.70\temp
查看某一参数的值,用法:jinfo ‐flag <参数名> <进程id>
E:\jvm>jinfo -flag MaxHeapSize 23832
-XX:MaxHeapSize=4263510016
本文内容到此结束了,
如有收获欢迎点赞👍收藏💖关注✔️,您的鼓励是我最大的动力。
如有错误❌疑问💬欢迎各位大佬指出。
保持热爱,奔赴下一场山海。🏃🏃🏃
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)