jdk参数设置 参数意义

本文详细介绍了JVM的各种关键参数配置,包括初始堆大小(-Xms)、最大堆大小(-Xmx)、每个线程的堆栈大小(-Xss)、永久代初始值(-XX:PermSize)及最大值(-XX:MaxPermSize)等。这些参数对于Java应用程序的性能调优至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JDK:
    JAVA_HOME:D:\DevTools\jdk\Jdk64\jdk
    PATH:%JAVA_HOME%\bin;
    CLASSPATH:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\td.jar;%JAVA_HOME%\lib\tools.jar;

Eclipse:
arguments:
-Xms128M -Xmx1024M -XX:PermSize=64M -XX:MaxPermSize=128M

windows > - preferences > install JREs
-Xms128M -Xmx1024M -XX:PermSize=256M -XX:MaxPermSize=512M

 


-Xms:初始堆大小,默认为物理内存的1/64(<1GB);默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制


-Xmx:最大堆大小,默认(MaxHeapFreeRatio参数可以调整)空余堆内存大于70%时,JVM会减少堆直到-Xms的最小限制

-Xss:每个线程的堆栈大小。JDK5.0以后每个线程堆栈大小为1M,以前每个线程堆栈大小为256K。应根据应用的线程所需内存大小进行适当调整。
在相同物理内存下,减小这个值能生成更多的线程。但是操作系统对一个进程内的线程数还是有限制的,不能无限生成,经验值在3000~5000左右。
一般小的应用, 如果栈不是很深, 应该是128k够用的,大的应用建议使用256k。这个选项对性能影响比较大,需要严格的测试。
和threadstacksize选项解释很类似,官方文档似乎没有解释,在论坛中有这样一句话:"-Xss is translated in a VM flag named ThreadStackSize”一般设置这个值就可以了。

-XX:PermSize:设置永久代(perm gen)初始值。默认值为物理内存的1/64。
-XX:MaxPermSize:设置持久代最大值。物理内存的1/4。

转载于:https://my.oschina.net/u/2253438/blog/688046

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值