欢迎来到Vincentyw的博客

该来的终究会来,该走的也一定会离开。凡事都存在前因后果,因缘成熟了,果报便产生了,无法阻挡。
但是发生过了就会消失,有来就有走,一切都是过客,把握自己当下的因缘,承担起自己该承担的责任,做好眼前该做的事情,做的时候尽全力,过去便放下,放下即自在。

Linux环境查看JVM相关参数命令

Linux环境查看JVM相关参数命令

相对不稳定
主要用于JVM调优和Debug
XX参数分类:
1、Boolean类型
格式: -XX:[+-]<name> 表示启用或者禁用name属性
 比如: -XX:+UseConcMarkSweepGC
    -XX:UseG1GC

2、非Boolean类型
格式:  -XX:<name>=<value> 表示name属性的值是value
比如:-XX:MaxGCPauseMillis=500
     XX:GCTimeRatio=19

3、 -Xmx -Xms
不是X参数,而是XX参数
-Xms等价于-XX:InitialHeapSize
-Xmx等价于-XX:MaxHeapSize

3    JVM参数查看
3.1    查看JVM运行时参数
-XX:+PrintFlagsInitial
-XX:+PrintFlagsFinal
-XX:+UnlockExperimentalVMOptions //解锁实验参数
-XX:+UnlockDiagnosticVMOptions //解锁诊断参数
-XX:+PrintCommandLineFlags //打印命令行参数

-XX:+UseSerialGC,虚拟机运行在Client模式下的默认值,Serial+Serial Old。
-XX:+UseParallelGC,虚拟机运行在Server模式下的默认值,Parallel Scavenge+Serial Old(PS Mark Sweep)。
-XX:+UseParNewGC,ParNew+Serial Old,在JDK1.8被废弃,在JDK1.7还可以使用。
-XX:+UseParallelOldGC,Parallel Scavenge+Parallel Old。
-XX:+UseConcMarkSweepGC,ParNew+CMS+Serial Old。
-XX:+UseG1GC,G1+G1,只支持JDK1.7 14update以上

java -XX:+PrintCommandLineFlags -version //查看jvm默认的垃圾回收器

3.2    参数使用
java -XX:+PrintFlagsInitial -version > PrintFlagsInitial.txt  //这个命令的值很多,保存到文件中
java -XX:+PrintFlagsFinal -version > PrintFlagsFinal.txt  

3.3    jps 查看java进程
jps  //查看java进程
jps -l  //显示完整的类名

3.4    查看正在运行的JVM参数

jinfo -flags pid   //查看设置过值的参数
jinfo -flag InitialHeapSize pid   //查看初始堆内存
jinfo -flag MaxHeapSize pid   //查看最大堆内存
jinfo -flag PermSize pid     //查看初始分配的非堆内存
jinfo -flag MaxPermSize pid     //查看最大允许分配的非堆内存
jinfo -flag NewSize pid     //查看年轻代初始内存
jinfo -flag MaxNewSize pid     //查看年轻代最大内存
jinfo -flag NewRatio pid     //查看年轻代与年老代的比值
jinfo -flag SurvivorRatio pid     //查看年轻代中Eden区与Survivor区的比值
jinfo -flag MaxTenuringThreshold pid  //查看对象如果在Survivor区移动了N次还没有被垃圾回收就进入年老代

jinfo -flag UseSerialGC pid   //查看串行收集器
jinfo -flag UseParallelGC pid   //查看并行收集器
jinfo -flag UseParNewGC pid   //查看并行收集器
jinfo -flag UseParallelOldGC pid   //查看并行收集器
jinfo -flag UseConcMarkSweepGC pid   //查看CMS回收器
jinfo -flag UseG1GC pid  //查看G1回收器
jinfo -flag PrintGCDetails pid   //查看是否打印GC日志

查看JVM内存配置

jmap -heap pid > 1.txt  //参数较多,保存到文件 


4    JVM常用工具
4.1    jps
jps  //查看java进程
jps -l  //显示完整的类名

4.2    jinfo
jinfo -flag InitialHeapSize pid   //查看初始堆内存
jinfo -flag MaxHeapSize pid   //查看最大堆内存
jinfo -flag PermSize pid     //查看初始分配的非堆内存
jinfo -flag MaxPermSize pid     //查看最大允许分配的非堆内存
jinfo -flags pid   //查看设置过值的参数
jinfo -flag UseConcMarkSweepGC pid   //查看垃圾回收器
jinfo -flag UseG1GC pid   //查看垃圾回收器
jinfo -flag UseParallelGC pid   //查看垃圾回收器

4.3 jmap

jmap -heap pid > 1.txt

5    Tomcat调优
5.1    Linux下修改TomcatJVM内存大小
要添加在tomcat 的bin 下catalina.sh 里,位置cygwin=false前。
# OS specific support.  $var _must_ be set to either true or false.
JAVA_OPTS="-Xms256m -Xmx512m -Xss1024K -XX:PermSize=128m -XX:MaxPermSize=256m" 
cygwin=false


5.2    windows下修改Tomcat JVM内存大小
5.2.1 解压版本的Tomcat , 要通过startup.bat启动tomcat才能加载配置

要添加在tomcat 的bin 下catalina.bat 里

rem Guess CATALINA_HOME if not defined
set CURRENT_DIR=%cd%后面添加

set JAVA_OPTS=-Xms1024m -Xmx1024m -Xmn=256m -XX:PermSize=128M -XX:MaxPermSize=128m -Djava.awt.headless=true  -XX:+UseSerialGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc:D:\log\jvm\gc.log

 

设置参数

-server -Xmx64m -Xms16m -Xmn32m -XX:MetaspaceSize=32m -Xss256k 

posted on 2021-11-05 17:36  VincentYew  阅读(6387)  评论(0编辑  收藏  举报

导航