栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

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

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

2、非Boolean类型
格式:  -XX:= 表示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:logjvmgc.log

设置参数

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

Linux环境查看JVM相关参数命令 - VincentYew - 博客园

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/826876.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号