zoukankan      html  css  js  c++  java
  • 【转载】Java JVM : Xms Xmx PermSize MaxPermSize 区别

     转载自:http://cxh61207.iteye.com/blog/1160663

    java JVM虚拟机选项: Xms Xmx PermSize MaxPermSize 区别  

    Xms 是指设定程序启动时占用内存大小。一般来讲,大点,程序会启动的 快一点,但是也可能会导致机器暂时间变慢。

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

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

     以上三个参数的设置都是默认以Byte 为单位的,也可以在数字后面添加 [k/K]或者[m/M]来表示KB 或者MB。而且,超过机器本身的内存大小也是不可 以的,否则就等着机器变慢而不是程序变慢了。 因此,对于一般的java 应用程序来讲,我们只要把前两个参数设置合适基 本上就可以了。第三个参数还是需要有很强的 各应用程序的设置方法 

    -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

    经历:

    1、慎用最小限定选项Xms,PermSize已节俭系统资源。

    修正捏造内存"%jboss_home%in un.conf"

    JAVA_OPTS="-Xms256m -Xmx1024m -XX:MaxPermSize=512m

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

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

  • 相关阅读:
    新安装的CentOS 7不能上网
    修改机器名
    读书笔记-MySQL运维内参08-索引实现原理2
    读书笔记-MySQL运维内参08-索引实现原理1
    读书笔记-MySQL运维内参07-InnoDB数据存储结构
    MySQL 参数设置-持续更新
    读书笔记-Mycat权威指南-10-分片规则
    读书笔记-Mycat权威指南-09-全局序列号
    读书笔记-Mycat权威指南-08-Mycat中的Join
    读书笔记-Mycat权威指南-03-Mycat中的概念
  • 原文地址:https://www.cnblogs.com/itdyb/p/6541315.html
Copyright © 2011-2022 走看看