美文网首页
JVM调优常用参数

JVM调优常用参数

作者: chenjiangtao | 来源:发表于2018-01-08 14:41 被阅读0次

JVM调优常用参数

内存调优

**设置heap大小
这个非常重要,通常只要这里设置够了,就不会出现溢出。
''-Xms4096m -Xmx4096m
or
''-Xms4g -Xmx4g
这两个值的大小应该一样,这样减少转换时初始化时间
64位一般可支持的最大内存是多少?如果物理内存为32G(一般为物理内存的90%,也就是27~28G)
新生代和老年代的大小
这个参数相当于设置等值的最小、最大新生代,NewRatio这个设置新、老代比例,NewRatio=1代表,两个相等大小
''-Xmn1g
这个值如果不设的话,默认只有6M
**设置持久代大小
同理,这两个值应该是一样的(jdk7)
''-XX:PermSize=512m -XX:MaxPermSize=512m
JDK8起用这两个参数
''-XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=512m

**设置code cache
''-XX:ReservedCodeCacheSize=1024m -XX:+UseCompressedOops

GC调优

并发GC线程设置
服务器总的线程数/jvm实例数就行了,如果一台服务器上有4个jvm。比如2颗6核超线程(超线程后1个核相当于2个线程)就是24/4=6调,置ParallelGCThreads时最大不要超过6就行了。
Mac笔记本4核8线程,一个jvm,ParallelGCThreads=CPU 数量/JVM 数量
''-XX:ParallelGCThreads=8

CMS基本配置

配置了cms,-XX:+UseParNewGC这个参数就不用设了,因为设了cms这个就自动打开了
''-XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly

日志基本配置

''-Xloggc:/var/log/gc-sms.log -XX:+PrintGCDateStamps -XX:+PrintGCDetails

例子

linkedin的一个例子如下
// JVM sizing options
''-Xms40g -Xmx40g -XX:MaxDirectMemorySize=4096m -XX:PermSize=256m -XX:MaxPermSize=256m
// Young generation options
''-XX:NewSize=6g -XX:MaxNewSize=6g -XX:+UseParNewGC -XX:MaxTenuringThreshold=2 -XX:SurvivorRatio=8 -XX:+UnlockDiagnosticVMOptions -XX:ParGCCardsPerStrideChunk=32768
// Old generation options
''-XX:+UseConcMarkSweepGC -XX:CMSParallelRemarkEnabled -XX:+ParallelRefProcEnabled -XX:+CMSClassUnloadingEnabled -XX:CMSInitiatingOccupancyFraction=80 -XX:+UseCMSInitiatingOccupancyOnly
// Other options
''-XX:+AlwaysPreTouch -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution -XX:+PrintGCApplicationStoppedTime -XX:-OmitStackTraceInFastThrow
参考:[http://www.importnew.com/11336.html]

我的常用配置
-Xms14g
-Xmx14g
-Xmn5g
-XX:MetaspaceSize=512m
-XX:MaxMetaspaceSize=512m
-XX:ReservedCodeCacheSize=1024m
-XX:+UseCompressedOops
-XX:+UseConcMarkSweepGC
-XX:ParallelGCThreads=8
-XX:CMSInitiatingOccupancyFraction=75
-XX:+UseCMSInitiatingOccupancyOnly
-Xloggc:/var/log/gc-sms.log
-XX:+PrintGCDateStamps
-XX:+PrintGCDetails


相关文章

  • Java 应用如何调优?

    一、节点配额和内核参数调整 JVM 配置常用参数 堆参数 回收器参数 项目中常用配置 常用组合 常用 GC 调优策...

  • JVM GC调优入门

    JVM GC调优入门 这篇文章会介绍几个常用的调优参数,再通过两个案例介绍如何进行JVM GC调优。阅读这篇文章的...

  • JVM 高频面试题

    本章面试题如下:JVM三大性能调优参数,JVM 几个重要的参数JVM调优JVM内存管理,JVM的常见的垃圾收集器,...

  • JVM调优常用参数

    1、调优的目的 1.控制GC的行为GC是一个后台处理,但是它也是会消耗系统性能的,因此经常会根据系统运行的程序的特...

  • JVM调优常用参数

    JVM调优常用参数 内存调优 **设置heap大小这个非常重要,通常只要这里设置够了,就不会出现溢出。''-Xms...

  • JVM常用调优参数

    -Xms: 初始大小内存 ,默认为物理内存1/64 等价于 -XX:InitialHeapSize -Xmx:最大...

  • jvm监控与调优之jdk命令行工具

    jvm监控与调优之jdk命令行工具 目录 jvm监控与调优之jdk命令行工具jvm的参数类型标准参数X参数XX参数...

  • 02. 基于JDK命令行工具的监控

    JVM与调优 imooc JVM Markdown JVM参数类型 标准参数 -help-server -cli...

  • JVM调优补充

    本文将不具体讲述JVM的机制,重点关注JVM有哪些可以调优的参数,这些参数对JVM又有哪些影响 一、调优方向参考表...

  • Spark(十八)JVM调优之原理概述以及降低cache操作的内

    一、调优背景 1、常规性能调优:分配资源、并行度。。。等 2、JVM调优(Java虚拟机):JVM相关的参数,通常...

网友评论

      本文标题:JVM调优常用参数

      本文链接:https://www.haomeiwen.com/subject/ymavnxtx.html