JVM基本参数–Jvm调优()

JVM基本参数--Jvm调优()

通用配置

  1. -Xms20m:初始大小内存,默认为物理内存1/64 —— 等价于-XX:InitialHeapSize
  2. -Xmx20m:最大分配内存,默认为物理内存1/4 —— 等价于-XX:MaxHeap
  3. -Xss128K:设置单个线程的大小,一般默认为512K~102 —— 等价于-XX:ThreadStackSizeSize
  4. -Xmn10m:设置新生代内存,剩余的为老年代的
  5. -XX:PretenureSizeThreshold=1m:大对象直接分配在老年代,这个参数只对 Serial 和ParNew两个收集器有效。
  6. -XX:MaxTenuringThreshold=15:动态年龄超过15次,进入老年代。等于 0 的话,就直接入老年代。
  7. -XX:G1HeapRegionSize:G1收集器每个Region的大小
  8. -XX:SurvivorRatio=8:设置一个eden和一个suvivor的比值
  9. -XX:+PrintTenuringDistribution:JVM 在每次新生代GC时,打印出幸存区中对象的年龄分布
  10. -XX:+HeapDumpOnOutOfMemoryError:打印 OOM 日志
  11. -XX:HeapDumpPath=路径:OOM 日志输出位置(可通过JVisualVM 工具进行分析)

有些资料说,Xms、Xmx 设置的是 JVM 内存大小,是不对的,JVM 除了留给开发人员使用的堆内存之外还有非堆内存。

有三种方式可以划分年轻代大小:-Xmn 方式、-XX:NewSize + -XX:MaxNewSize 方式、-XX:NewRatio 方式。三种都可以,优先级从高到低依次是 -XX:NewSize + -XX:MaxNewSize 方式、-Xmn 方式、-XX:NewRatio 方式,也就是说配置了前面优先级高的后面的优先级低的就被覆盖掉了。

大T笔记所有文章均为本人原创,转载请您注明来源,并留下原文链接地址,是对我的尊重,也是对知识的尊重,谢谢!
大T笔记 » JVM基本参数–Jvm调优()

大T笔记-我的个人互联网创业和自由职业之路

关于我 我的百宝箱
大T笔记-专注个人互联网创业和自由职业