出现java.lang.OutOfMemoryError异常时,常使用的方法便是将例如以下配置语句: -Xms512m -Xmx512m -Xss1024k -XX:MaxNewSize=256M -XX:MaxPermSize=256M 加在MyEclipse中的JDK的Optional Java VM arguments里面.然而久而久之easy混淆或忘却当中參数的含义,以下就简单的将这些參数的意义记录一下,以便日后能够參考. 直接看以下的表格吧(并不全面). 分类 选项 说明 堆空间 -X…
java  -Xms -Xmx -XX:PermSize -XX:MaxPermSize     在做java开发时尤其是大型软件开发时经常会遇到内存溢出的问题,比如说OutOfMemoryError等.这是个让开发人员很痛苦.也很纠结的问题,因为我们有时不知道什么样的操作导致了这种问题的发生.所以我们不得不通过不断的优化自己的代码结构,重构了一次又一次.虽然说不断的重构自己的代码对公对私都是一件非常好的事,但是有时我们会发现有些时候不单单是通过重构自身的代码就能够解决这样的问题,因为也可能是由…
java  -Xms -Xmx -XX:PermSize -XX:MaxPermSize     在做java开发时尤其是大型软件开发时经常会遇到内存溢出的问题,比如说OutOfMemoryError等.这是个让开发人员很痛苦.也很纠结的问题,因为我们有时不知道什么样的操作导致了这种问题的发生.所以我们不得不通过不断的优化自己的代码结构,重构了一次又一次.虽然说不断的重构自己的代码对公对私都是一件非常好的事,但是有时我们会发现有些时候不单单是通过重构自身的代码就能够解决这样的问题,因为也可能是由…
1.-Xms:表示java虚拟机堆区内存初始内存分配的大小,通常为操作系统可用内存的1/64大小即可,但仍需按照实际情况进行分配.2.-Xmx:表示java虚拟机堆区内存可被分配的最大上限,通常为操作系统可用内存的1/4大小. 开发过程中,通常会将-Xms 与-Xmx两个参数的配置相同的值,其目的是为了能够在java垃圾回收机制清理完堆区后不需要重新分隔计算堆区的大小而浪费资源. 1.-XX:newSize:表示新生代初始内存的大小,应该小于-Xms的值:2.-XX:MaxnewSize:表示新…
在 tomcat/bin/catalina.sh 的 第一行#!/bin/sh 下添加 JAVA_OPTS="-server -Xms512m -Xmx1024m -XX:MaxNewSize=512m -XX:PermSize=128m -XX:MaxPermSize=256m -Djava.awt.headless=true" -Xms256m JVM初始分配的堆内存, 生产环境建议与Xmx相同, 设为1024m以上-Xmx512m JVM最大允许分配的堆内存, 生产环境建议设为1…
今天在做jmeter压力测试时又出现以前经常出现的异常,如下图,长时间不弄这个的,又有点不知所措了,所以干脆再来总结一下问题: 以前写过两篇文章,对这个问题研究过,见下面连接: 连接1:http://www.cnblogs.com/garinzhang/archive/2013/03/20/2970901.html 连接2:http://www.cnblogs.com/garinzhang/p/jvisualvm_resolve_permgen_space.html 这次在网上查找之后,想彻底解…
长期以来一直都是做java应用的开发,所使用的开发工具基本上也都是基于java的,经常用的有eclipse, netbeans, ant, maven, cruisecontrol, tomcat, findbugs等.在使用这些工具的时候,有时候会碰到OutOfMemory的问题. 问题 -------------------------------------------------------------------------------- 一般在遇到这个问题的时候,我们的第一印象是:一…
http://www.oracle.com/technetwork/java/javase/memleaks-137499.html 3.1 Meaning of OutOfMemoryError One common indication of a memory leak is the java.lang.OutOfMemoryError error. This error is thrown when there is insufficient space to allocate an ob…
堆设置 -Xms 是指程序启动时初始内存大小(此值可以设置成与-Xmx相同,以避免每次GC完成后 JVM 内存重新分配). -Xmx 指程序运行时最大可用内存大小,程序运行中内存大于这个值会 OutOfMemory. -Xmn 年轻代大小(整个JVM内存大小 = 年轻代 + 年老代 + 永久代). -XX:NewRatio 年轻代与年老代的大小比例,-XX:NewRatio=4 设置为4,则年轻代与年老代所占比值为1:4. -XX:SurvivorRatio 年轻代中Eden区与Survivor…
Xms 是指设定程序启动时占用内存大小.一般来讲,大点,程序会启动的快一点,但是也可能会导致机器暂时间变慢. Xmx 是指设定程序运行期间最大可占用的内存大小.如果程序运行需要占用更多的内存,超出了这个设置值,就会抛出OutOfMemory异常. Xss 是指设定每个线程的堆栈大小.这个就要依据你的程序,看一个线程大约需要占用多少内存,可能会有多少线程同时运行等. 以上三个参数的设置都是默认以Byte为单位的,也可以在数字后面添加[k/K]或者[m/M]来表示KB或者MB.而且,超过机器本身的内…