JVM配置项说明
经典的参数搭配整理
-Xms4096M
-Xmx4096M
-Xmn2048M
-XX:MetaspaceSize=256M
-XX:MaxMetaspaceSize=256M
-XX:+UseParNewGC # 年轻代GC
-XX:+UseConcMarkSweepGC # 老年代GC
-XX:+CMSScavengeBeforeRemark # 标记钱先执行一次新生代GC,建议去掉
-XX:CMSInitiatingOccupancyFraction=75
-XX:+UseCMSInitiatingOccupancyOnly # 解决GC回收的毛刺问题
3、一般可调有参数
## 堆内存分配
-Xms10000M ## 1、内存不足错误,可以扩大堆内存
-Xmx10000M
-Xmn5000M ## 2、大对象太多,可以将年轻代设置小一点
-Xss256K ## 3、如果高并发环境,单个线程堆栈可以适当调小
-XX:MaxTenuringThreshold=1
-XX:SurvivorRatio=30 # 4、小对象太多,可以设置比率大一点
-XX:TargetSurvivorRatio=50
-Xnoclassgc
-XX:PermSize=256m
-XX:MaxPermSize=256m # 5、静态数据太多,可以设置大一点,反之小一点
-XX:MetaspaceSize=200M # 6、如果动态代理比较多,可以设置大一点
## 垃圾回收器设置
-XX:+UseParNewGC ## 新生代使用PartNew回收器
-XX:+UseConcMarkSweepGC ## 老年代使用CMS回收器
-XX:ParallelGCThreads=24 # 设置并发回收线程数
-XX:ConcGCThreads=24
-XX:CMSInitiatingOccupancyFraction=80
-XX:+CMSParallelRemarkEnabled
-XX:+CMSScavengeBeforeRemark
-XX:+ExplicitGCInvokesConcurrent
-XX:+UseTLAB
-XX:TLABSize=64K
# 日志打印参数设置
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
JVM工具命令行整理
- javac java源文件编译命令
- java jar包发布命令
- 例如: java -jar …jar
- 用法 java [-options] class [args…]
- jar java文件打包指令
- 用法 jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] files …
- javadoc 生成java文档
- javadoc [options] [packagenames] [sourcefiles] [@files]
- javap java反编译
参考:
https://www.eolink.com/news/post/68425.html