博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JVM架构_XmnXmsXmxXss有什么区别:转
阅读量:4319 次
发布时间:2019-06-06

本文共 643 字,大约阅读时间需要 2 分钟。

1、XmnXmsXmxXss有什么区别

首先,Xmn、Xms、Xmx、Xss都是JVM对内存的配置参数,我们可以根据不同需要区修改这些参数,以达到运行程序的最好效果。

了解jvm内存管理看这里:

Xms、Xmx

-Xms、-Xmx分配用来设置进程堆内存的最小大小和最大大小。

了解堆内存看这里: 

了解java垃圾回收机制看这里:

Xmn

-Xmn用来设置堆内新生代的大小。通过这个值我们也可以得到老生代的大小:-Xmx减去-Xmn

了解堆新生代垃圾处理算法看这里:

Xss

-Xss设置每个线程可使用的内存大小。

在相同物理内存下,减小这个值能生成更多的线程。当然操作系统对一个进程内的线程数还是有限制的,不能无限生成,经验值在3000~5000左右。

除了这些配置,JVM还有非常多的配置,常用的如下:

    1. -XX:PermSize、-XX:MaxPermSize 

      分配用来设置永久代的最小大小和最大大小。Java 8以后移除了方法区,取而代之的是本地元空间Metaspace,大小由-XX:MetaspaceSize和-XX:MaxMetaspaceSize调节。

    2. -XX:MaxTenuringThreshold 

      设置转入老生代的存活次数。如果是0,则直接跳过新生代进入老生代。

    3. -XX:NewRatio 

      设置老生代和新生代的比值,例如该值为3,则表示新生代与老生代比值为1:3。

转载于:https://www.cnblogs.com/jack1989/p/8376369.html

你可能感兴趣的文章
插入返回ibatis 的selectKey 实现插入数据后获得id
查看>>
解决win7下打开Excel2007,报“向程序发送命令时出现问题”的错误
查看>>
Win form碎知识点
查看>>
避免使用不必要的浮动
查看>>
第一节:ASP.NET开发环境配置
查看>>
sqlserver database常用命令
查看>>
rsync远程同步的基本配置与使用
查看>>
第二天作业
查看>>
访问属性和访问实例变量的区别
查看>>
Spring MVC 异常处理 - SimpleMappingExceptionResolver
查看>>
props 父组件给子组件传递参数
查看>>
【loj6038】「雅礼集训 2017 Day5」远行 树的直径+并查集+LCT
查看>>
十二种获取Spring的上下文环境ApplicationContext的方法
查看>>
UVA 11346 Probability 概率 (连续概率)
查看>>
linux uniq 命令
查看>>
Openssl rand命令
查看>>
HDU2825 Wireless Password 【AC自动机】【状压DP】
查看>>
BZOJ1015: [JSOI2008]星球大战starwar【并查集】【傻逼题】
查看>>
HUT-XXXX Strange display 容斥定理,线性规划
查看>>
mac修改用户名
查看>>