JVM常用参数

配置方法:

  • Eclipse配置
  • Intellij IDEA配置
    • Run/Debugg configuration内 VM options处配置
  • Tomcat配置
  • springBoot
    • 直接使用java -jar 启动
      • java -Xmx2g -Xms2g  -jar  xxx.jar
    • 使用linux服务启动 
      • jar包的shell脚本内 会加载jar包同目录下的 ${jarName}.conf文件内的JAVA_OPTS 
        JAVA_OPTS="-Xmx2g -Xms2g "

内存相关

  • -Xms1g                                设置堆的最小空间为1GB。
  • -Xmx4g                                设置堆的最大空间为4GB。
  • -Xmn1g                                设置新生代空间为1GB。
  • -XX:NewSize=256m             设置新生代最小空间为256MB。
  • -XX:MaxNewSize=256m      设置新生代最大空间为256MB。
  •  
  • -XX:PermSize=1g                设置永久代最小空间为1GB。
  • -XX:MaxPermSize=1g         设置永久代最大空间为1GB。
  • -Xss1m                                 设置每个线程的栈大小为1MB,此设置关系到能够支持的最大线程数量 和 调用栈深度(如1M深度约为3w+)。

   jdk1.8取消了永生代,所以相关Perm配置仅在1.8之前的版本有效。

 

GC相关

  • -XX:-PrintGC                               每次垃圾回收时 打印相关信息
  • -XX:-PrintGCDetails                   每次垃圾回收时 打印详细信息 
  • -XX:-PrintGCTimeStamps           打印每次垃圾回收的时间戳
  • -XX:-DisableExplicitGC               禁用显式调用System.gc();
  • -XX:-UseSerialGC                       使用串行化GC
  • -XX:-UseParallelGC                    使用并行化GC
  • -XX:-UseG1GC                           使用G1GC
  • -XX:-UseConcMarkSweepGC    使用CMSGC

一般选择具体的GC后,会有一些特有的参数需要配置,参照垃圾回收算法、垃圾回收器

其他

  • -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/data/log/app.hprof   内存溢出时,导出堆内存快照 java内存溢出分析
  • -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=5080,suspend=n   远程Debug
  • -XX:+PrintCommandLineFlags     启动时 打印jvm配置参数
  • -XX:MaxTenuringThreshold=20   设置老年代寿命阈值为20(即在年轻代经过20次垃圾回收后,依然存活 则进入老年代)

 

最后附上 我在项目中常用的配置方案

-Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=5080,suspend=n  -Xmx4g -Xms4g
-XX:+HeapDumpOnOutOfMemoryError  -XX:HeapDumpPath=/data/logs/
-XX:+PrintCommandLineFlags -XX:-PrintGCDetails

   正式环境会去掉远程Debug的配置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值