java JVM : Xms Xmx PermSize MaxPermSize 区别

java JVM : Xms Xmx PermSize MaxPermSize 区别java

 
 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
 
经历:
 
一、慎用最小限定选项Xms,PermSize已节俭系统资源。
 
修正捏造内存"%jboss_home%\bin\run.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,才干办理这个标题。jvm

相关文章
相关标签/搜索