jvm调优参数

-Xms、-Xmx

-Xms4g: 设置堆内存初始大小为4g
-Xmx4g: 设置堆内存最大值大小为4g

可以设置-Xms与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。

-Xmn

-Xmn1536m:设置年轻代大小为1536m

增大年轻代后,将会减小年老代大小。此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8。

-Xss

-Xss512k:设置每个线程堆栈大小为512k。

JDK5.0以后每个线程堆栈大小为1MB,以前每个线程堆栈大小为256K。应根据应用线程所需内存大小进行调整。在相同物理内存下,减小这个值能生成更多的线程。但是操作系统对一个进程内的线程数还是有限制的,不能无限生成,经验值在3000~5000左右。

-XX:NewRatio

-XX:NewRatio=4: 设置年轻代和年老代的比例为1:4,年轻代占整个堆栈的1/5

其中年轻代包括一个Eden区和两个Survivor区

-XX:SurvivorRatio

-XX:SurvivorRatio=8: 设置 两个 Survivor区 和 Eden区 的比例为1:1:8,一个Survivor区占年轻代的1/10
~~~

-XX:PremSize、-XX:MaxPremSize

-XX:PremSize=100m: 设置永久代初始大小为100m。
-XX:MaxPremSize=256m: 设置永久代最大内存为256m。

注JDK1.8后(包括1.8)移除了永久代,永久代(PermGen)被元空间(MetaSpace)替代。这里你是否有很多问好???有就看第二篇参考的元空间

图解jvm调优参数作用区域

通过一张图来了解如何通过参数来控制各区域的内存大小:
基本jvm调优参数作用

参考文献:

https://blog.csdn.net/jisuanjiguoba/article/details/80176223
http://zyouwei.com/%E6%8A%80%E6%9C%AF%E7%AC%94%E8%AE%B0/Java/Java-Memory-Model.html

相关文章:

  • 2021-08-26
  • 2021-05-13
  • 2022-12-23
猜你喜欢
  • 2021-07-28
  • 2020-05-08
  • 2021-12-18
相关资源
相似解决方案