java maxpermsize 设多少_JAVA JVM虚拟机选项:Xms Xmx PermSize MaxPermSize 区别

Xms : 是指设定程序启动时占用内存大小。一般该值设置大的会使程序启动快,但是可能会使本机暂时变慢。

Xmx : 是指设定程序运行期间最大可占用的内存大小,如果程序运行需要占用更多的内存,超出这个 设置值,就会抛出OutOfMemory异常。

Xss : 是指设定每个线程的堆栈大小。这个就要依据你的程序,看一个线程大约需要占用多少内存,可能会有多个线程同时运行等。

以上三个参数的设置都是默认以Byte为单位的,也可以在数字后面添加【k/m】代表kb或mb。不过设定的值不能超过机器本身内存大小,否则整台机会变慢。对于一般程序来讲,我们只要把前面两个参数设置合适基本就可以了。

各应用程序的设置

-Xmx1600m -XX:PermSize=64m -XX:MaxPermSize=256m

-Xms40m -Xmx512m

java JVM捏造及选项:Xms Xmx PermSize MaxPermSize 差别

java固然是主动采用内存,但是利用步伐,尤其办事器步伐最好根据业务环境指明内存分派限定。不然大概导致利用步伐宕失。

例如:

-Xms128m

表示JVM Heap(堆内存)最小尺寸128MB,初始化分派

-Xmx512m

表示JVM Heap(堆内存)最大容许的尺寸256MB,按需分派

阐明:倘若-Xmx不指定大概指定偏小,利用大概会导致java.lang.OutOfMemory毛病,此毛病来自JVM,不是Throwable的,无法用try...catch捕获。

PermSize和MaxPermSize指明捏造机为java永世天生东西(Permanate generation)如,class东西,可反射(reflective)东西分派内存限定,这些内存不包含在Heap(堆内存)区之中。

-XX:PermSize=64MB最小尺寸,初始分派

-XX:MaxPermSize=256MB最大容许分派尺寸,按需分派

过小会导致:java.lang.OutOfMemoryError:PermGen space

MaxPermSize缺省值和-server -client选项相干

-server 选项下默认MaxPermSize为64m

-client选项下默认MaxPermSize为32m

java.lang.OutOfMemoryError 涌现时,有多种环境,比如:PermGen space ,Java heap space 。

遇到的是java.lang.OutOfMemoryError: PermGen space ,是内存的永世保 存地区溢出了,永世生存地区是存放class信息和meta信息的,分派了后,jvm是不会往采用的。必须让jvm分派更多的permsize.

当Eclipse调试Tomcat的时候,遇到java.lang.outofmemoryerror permgen space错误,即可修改Tomcat启动参数来解决,例如加入以下:

-Xms256m -Xmx1024m -XX:PermSize=256M -XX:MaxPermSize=512m

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值