• 【JVM】虚拟机调优 常用的调优参数


    一、配置方式

            options - JVM启动参数。 配置多个参数的时候,参数之间使用空格分隔

    • 参数命名: 常见为 -参数名

    • 参数赋值: 常见为 -参数名=参数值 | -参数名:参数值

    二、内存参数

    -Xms:初始堆大小,JVM启动的时候,给定堆空间大小。
    -Xms3750m,设置JVM初始内存为3750m。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。

    -Xmx:最大堆大小,JVM运行过程中,如果初始堆空间不足的时候,最大可以扩展到多少。
    -Xmx3750m:设置JVM最大可用内存为3750M。

    -Xmn:设置年轻代大小。
    整个堆大小 = 年轻代大小 + 老年代大小 + 持久代大小。持久代一般固定大小为64m,所以增大年轻代后,将会减小年老代大小。此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8。
    -Xmn2g:设置年轻代大小为2G。

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

    -XX:NewSize=n:设置年轻代大小。

    -XX:NewRatio=n:设置年轻代(包括Eden和两个Survivor区)与年老代的比值。
    比如设置为4,则年轻代与年老代所占比值为1:4,年轻代占整个堆栈的1/5

    -XX:SurvivorRatio=n:年轻代中Eden区与两个Survivor区的比值。
    注意Survivor区有两个。如:3,表示Eden:Survivor=3:2,一个Survivor区占整个年轻代的1/5。

    -XX:MaxPermSize=n:设置永久代大小
    -XX:MaxPermSize=16m:设置持久代大小为16m。

  • 相关阅读:
    基于ubuntu20.04安装ros系统搭配使用工业相机
    关于gdb调试: 你的问题可能会在这里找到答案
    2022年Vue.js面试题汇总及答案【建议收藏】
    Qt学习总结之QAbstractButton类
    SpringBoot线程上下文传递数据
    为什么NIO比BIO效率高
    基于Python实现的钢筋数量识别
    Redis 先操作数据库和先删除缓存, 一致性分析
    a16z:以太坊合并意味着什么?
    JSON Web Tokens攻击漏洞手法
  • 原文地址:https://blog.csdn.net/A_aspectJ/article/details/136611180