请问set JAVA_OPTS的各项參数是什么意思?
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的各项參数是什么意思?的更多相关文章
- iframe的各项參数
iframe的各项參数: <iframe src="test.jsp" width="100″ height="50″ frameborder=" ...
- Unity3d 网络编程(二)(Unity3d内建网络各项參数介绍)
这里是全部Unity3d在网络中能用到相关的类及方法.纵观參数功能, Unity3d来写一个手游是不二的选择: RPC 能够传递的參数 int float string NetworkPlayer N ...
- JVM经常使用的调优參数
-Xms512m -Xmx1024m -XX:MaxPermSize=1204m -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:+ ...
- Linux下Tomcat VM參数改动
不可行的方法 最初我直接改动catalina.sh, 将JAVA_OPTS变量加上了 -server -Xms1G -Xmx1G -XX:+UserG1GC 最初看起来没啥问题,可是当服务器运行几天后 ...
- 运行 CMD 时,參数加引號常见问题
在调用 CMD 时.如脚本中用 WScript.Shell 调用. 假设參数中有包括空格的长路径名时,必需要加引號才干正确被识别. 是的,大家都知道要加引號.但怎么加却easy被误解.这个问题,不时地 ...
- java课堂练习之可变參数与卫条件
/* 有人邀请A,B,C,D,E,F 6个人參加一项会议,这6个人有些奇怪.由于他们有非常多要求,已知: 1)A,B两人至少有1人參加会议: 2)A,E,F 3人中有2人參加会议. 3)B和C ...
- 【Unity3D】【NGUI】怎样动态给EventDelegate加入參数
NGUI版本号:3.6.8 注意:參数必须是公共成员变量.不能是栈上的.或者私有的(就是暂时在函数里面定义的或者是函数的參数都不行) using UnityEngine; using System.C ...
- Lua学习教程之 可变參数数据打包与解包
利用table的pack与unpack进行数据打包与解包.測试代码例如以下: print("Test table.pack()----------------"); functio ...
- 【Android 应用开发】Activity 状态保存 OnSaveInstanceState參数解析
作者 : 韩曙亮 转载请著名出处 : http://blog.csdn.net/shulianghan/article/details/38297083 一. 相关方法简单介绍 1. 状态保存方法演示 ...
随机推荐
- iOS 发布应用时屏蔽NSLog
在开发过程中,经常需要使用NSLog来进行调试,但是NSLog是非常影响性能的,所以我们应该在发布应用时屏蔽掉NSLog,但是如果通过手工的去一行一行的改得话,未免太枯燥与费时了,庆幸的是,我们可以通 ...
- Queue(队列)
队列是一种后进后出的数据结构,下面介绍一下队列中常见的函数: 一.queue 中的 empty 函数 queue<int> q ; q.empty() ; // 若队列中无元素,返回tr ...
- JS学习之事件冒泡
(1)什么是事件起泡 首先你要明白一点,当一个事件发生的时候,该事件总是有一个事件源,即引发这个事件的对象,一个事件不能凭空产生,这就是事件的发生. 当事件发生后,这个事件就要开始传播.为什 ...
- HTML+CSS笔记 CSS中级 一些小技巧
水平居中 行内元素的水平居中 </a></li> <li><a href="#">2</a></li> &l ...
- BootStrap 轮播 Carousel
参考 http://wrongwaycn.github.io/bootstrap/docs/javascript.html#collapse 同样 启动方式有2种 一种是在div的class中加 另 ...
- IPTABLES 映射问题
今天要做一个新的映射:将内网的一个8090口映射到外网的8087口. 在 /ETC/RC.LOCAL中最后插入: iptables -t nat -A PREROUTING -d outIP -p t ...
- 【源码】实现Android闹钟功能使用HTML+JS,并附带Alarm代码分享
先是开发手册中最终功能的实现函数,再是Alarm接口的源码. 参数: argu:型如“key1=value1;key2=value2;......”的参数表.首先,该参数表支持 rexseeNotif ...
- C功底挑战Java菜鸟入门概念干货(二)
(接上篇博文:C功底挑战Java菜鸟入门概念干货(一)) 一.Java面向对象程序设计-类的基本形式 1.“类”是把事物的数据与相关的功能封装在一起,形成的一种特殊结构,用以表达对真实世界的一种抽象概 ...
- C++的一些编程规范(基于google)
1.所有头文件都应该使用#define 防止头文件被多重包含,命名格式可以参考<PROJECT>_<PATH>_<FILE>_H 2.使用前置声明尽量减少.h文件中 ...
- C# Best Practices - Handling Strings
Features Strings Are Immutable. A String Is a Reference Type Value Type Store their data directly Ex ...