请问set JAVA_OPTS的各项參数是什么意思?
2015-05-11 13:56
225 查看
http://topic.csdn.net/u/20090910/10/20c6ba01-28ac-482e-94b2-bfce0a952f77.html
请问set JAVA_OPTS的各项參数是什么意思?
比如以下的:
set JAVA_OPTS=%JAVA_OPTS% -Xms512m -Xmx1024m -XX:PermSize=256M -XX:MaxPermSize=2
希望从JVM的角度 去解释 。
-Xms512m 堆的最小值
-Xmx1024m 堆的最大值
另外hotspot垃圾回收採用分代搜集的方法,把堆分为三个部分,新域,旧域和永久域。Jvm生成的全部新对象放在新域中。一旦对象经历了一定数量的垃圾收集循环后,便获得使用期并进入旧域。在永久域中jvm则存储class和method对象。就配置而言,永久域是一个独立域而且不觉得是堆的一部分
-XX:MaxPermSize=2设置永久域的最大值,
-XX:PermSize=256M设置永久域的初始值(你的样例显然有问题)
------------------------
JAVA_OPTS
比如:
-Xms512m -Xmx512m -XX:MaxPermSize=512m -XX:+AggressiveHeap
http://www.blogjava.net/yanzhou/archive/2006/09/13/69384.aspx:
-Xms 520m -Xmx 1220m -Xss 15120k +XX:AggressiveHeap
1. +XX:AggressiveHeap会使得 Xms 1220m没有意义。这个參数让jvm忽略Xmx參数,疯狂地吃完一个G物理内存,再吃尽一个G的swap。
另外Xmx作为同意jvm使用的最大内存数量,不应该超过物理内存的90%。
而之所以使用了这个參数,是由于不加的话,JBoss会在执行一天左右的时间后迅速崩溃,上机课是,甚至出现过半个小时就崩溃的情况。
之所以要用这个參数,用swap支持server执行,是由于犯了以下的错误:
2. -Xss 15120k
这使得JBoss每添加一个线程(thread)就会马上消耗15M内存,而最佳值应该是128K,默认值好像是512k.
这就是JBoss刚启动时,还有200Mb内存富余,但会在一个小时内迅速用完,由于server的threads在迅速添加。前3天,每天都多吃80Mb左右的swap.在第四天開始稳定下来。今年春节在外度假,观察到了这个现象,却不理解其原因:server在线程到达100之后,一般不再添加新的线程,新添加的在用完之后,会被迅速destroy,??褂玫哪诖嬉不厥樟恕R虼耍?旁诖航谄诩洌?鄄斓椒?衿髟?1.25-2.10所使用的线程基本是1.21-1.23创建的,因此没有再消耗新的内存。server持续执行时间,也因此大大超乎我5天的预期,到达了20天。
昨天所作的改动:
1.改动JAVA_OPTS,去掉+XX:AggressiveHeap,改动Xss。如今的JAVA_OPTS为:
-Xms 520m -Xmx 900m -Xss 128k
2.改动deploy/jbossweb-tomcat55.sar/service.xml
将maxThreads依据眼下的訪问量由默认的250降为75,并使用jboss 4默认未写在标准service.xml里面而jboss 3写入了的2个參数: maxSparseThreads=55,minSparseThreads=25
3.改动了oracle-ds.xml将最大连接数有150降为50.
4.去掉了一些不用的服务。
请问set JAVA_OPTS的各项參数是什么意思?
比如以下的:
set JAVA_OPTS=%JAVA_OPTS% -Xms512m -Xmx1024m -XX:PermSize=256M -XX:MaxPermSize=2
希望从JVM的角度 去解释 。
-Xms512m 堆的最小值
-Xmx1024m 堆的最大值
另外hotspot垃圾回收採用分代搜集的方法,把堆分为三个部分,新域,旧域和永久域。Jvm生成的全部新对象放在新域中。一旦对象经历了一定数量的垃圾收集循环后,便获得使用期并进入旧域。在永久域中jvm则存储class和method对象。就配置而言,永久域是一个独立域而且不觉得是堆的一部分
-XX:MaxPermSize=2设置永久域的最大值,
-XX:PermSize=256M设置永久域的初始值(你的样例显然有问题)
------------------------
JAVA_OPTS
比如:
-Xms512m -Xmx512m -XX:MaxPermSize=512m -XX:+AggressiveHeap
http://www.blogjava.net/yanzhou/archive/2006/09/13/69384.aspx:
-Xms 520m -Xmx 1220m -Xss 15120k +XX:AggressiveHeap
1. +XX:AggressiveHeap会使得 Xms 1220m没有意义。这个參数让jvm忽略Xmx參数,疯狂地吃完一个G物理内存,再吃尽一个G的swap。
另外Xmx作为同意jvm使用的最大内存数量,不应该超过物理内存的90%。
而之所以使用了这个參数,是由于不加的话,JBoss会在执行一天左右的时间后迅速崩溃,上机课是,甚至出现过半个小时就崩溃的情况。
之所以要用这个參数,用swap支持server执行,是由于犯了以下的错误:
2. -Xss 15120k
这使得JBoss每添加一个线程(thread)就会马上消耗15M内存,而最佳值应该是128K,默认值好像是512k.
这就是JBoss刚启动时,还有200Mb内存富余,但会在一个小时内迅速用完,由于server的threads在迅速添加。前3天,每天都多吃80Mb左右的swap.在第四天開始稳定下来。今年春节在外度假,观察到了这个现象,却不理解其原因:server在线程到达100之后,一般不再添加新的线程,新添加的在用完之后,会被迅速destroy,??褂玫哪诖嬉不厥樟恕R虼耍?旁诖航谄诩洌?鄄斓椒?衿髟?1.25-2.10所使用的线程基本是1.21-1.23创建的,因此没有再消耗新的内存。server持续执行时间,也因此大大超乎我5天的预期,到达了20天。
昨天所作的改动:
1.改动JAVA_OPTS,去掉+XX:AggressiveHeap,改动Xss。如今的JAVA_OPTS为:
-Xms 520m -Xmx 900m -Xss 128k
2.改动deploy/jbossweb-tomcat55.sar/service.xml
将maxThreads依据眼下的訪问量由默认的250降为75,并使用jboss 4默认未写在标准service.xml里面而jboss 3写入了的2个參数: maxSparseThreads=55,minSparseThreads=25
3.改动了oracle-ds.xml将最大连接数有150降为50.
4.去掉了一些不用的服务。
相关文章推荐
- 请问set JAVA_OPTS的各项參数是什么意思?
- 请问set JAVA_OPTS的各项参数是什么意思?
- 请问set JAVA_OPTS的各项参数是什么意思?
- (转)set JAVA_OPTS的各项参数是什么意思
- find ~/ -name "*.aic" -exec rm -rf {} \;请问里面的各项是什么意思--?
- 请问C#中get和SET到底是什么意思啊?
- java里,new HashSet(0),这个0是什么意思
- java里,new HashSet(0),这个0是什么意思
- java 中Class<?> 括号中问号代表什么意思
- JAVA出现x可以在Point中访问private是什么意思 高手进
- 关于java环境的意义,以前只是配置,没有明白是什么意思可以看看。
- 请问一下各位。这是什么意思。添加新调试工具之后项目不能跑了
- java语言开发环境配置 jdk 配置中.; 什么意思
- Java集合详解--什么是Set
- C++语言SetCurrentDir(ExtractFilePath(Application->ExeName))这句是什么意思
- 存储过程中的 SET NOCOUNT ON 和SET NOCOUNT OFF是 什么意思?
- 存储过程中的 SET NOCOUNT ON 什么意思?
- 请问ExecuteReader()是什么意思?
- 【Java面试题】39 Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
- java 正则表达式 每个构造字符代表什么意思(合集(全))