鸿 网 互 联 www.68idc.cn

当前位置 : 服务器租用 > 编程语言开发 > erlang > >

Java千百问_07JVM架构(015)_XmnXmsXmxXss有什么区别

来源:互联网 作者:佚名 时间:2016-05-30 10:53
点击进入_更多_Java千百问 1、XmnXmsXmxXss有什么区别 首先,Xmn、Xms、Xmx、Xss都是JVM对 内存的配置参数 ,我们可以根据不同需要区修改这些参数,以达到运行程序的最好效果。 了解jvm内存管理看这里:jvm是如何管理内存的 Xms、Xmx -Xms、-Xmx分配用来设置

点击进入_更多_Java千百问

1、XmnXmsXmxXss有什么区别

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

了解jvm内存管理看这里:jvm是如何管理内存的

Xms、Xmx

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

了解堆内存看这里:java堆内存是什么样的
了解java垃圾回收机制看这里:java垃圾回收机制是什么

Xmn

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

了解堆新生代垃圾处理算法看这里:什么是新生代的复制算法

Xss

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

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

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

  1. -XX:PermSize、-XX:MaxPermSize
    分配用来设置永久代的最小大小和最大大小。

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

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

网友评论
<