请问set JAVA_OPTS的各项參数是什么意思?

http://topic.csdn.net/u/20090910/10/20c6ba01-28ac-482e-94b2-bfce0a952f77.html

比如以下的:

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.去掉了一些不用的服务。

时间: 2024-07-31 22:45:09

请问set JAVA_OPTS的各项參数是什么意思?的相关文章

iframe的各项參数

iframe的各项參数: <iframe src="test.jsp" width="100″ height="50″ frameborder="no" border="0″ marginwidth="0″ marginheight="0″ scrolling="no" allowtransparency="yes"></iframe> <ifra

Unity3d 网络编程(二)(Unity3d内建网络各项參数介绍)

这里是全部Unity3d在网络中能用到相关的类及方法.纵观參数功能, Unity3d来写一个手游是不二的选择: RPC 能够传递的參数 int float string NetworkPlayer NetworkViewID Vector3 Quaternion BitStream能够传递的參数 void Serialize (bool value) void Serialize (char value) - only one byte [0, 255] void Serialize (shor

Linux下Tomcat VM參数改动

不可行的方法 最初我直接改动catalina.sh, 将JAVA_OPTS变量加上了 -server -Xms1G -Xmx1G -XX:+UserG1GC 最初看起来没啥问题,可是当服务器运行几天后,发现运行shutdown.sh无法关闭tomcat, 错误信息例如以下: # [email protected]:~/projects/taolijie# cat hs_err_pid5519.log # There is insufficient memory for the Java Runt

java之 ------ 可变參数和卫条件

可变參数:适用于參数个数不确定.类型确定的情况,java把可变參数当做数组处理. 可变參数必须位于最后一项.当可变參数个数多于一个时,必将有一个不是最后一项,所以仅仅支持有一个可变參数. 可变參数的书写形式如: int add(int x,int ...args){  方法体 } ... 位于变量类型和变量名之间.前后有无空格都能够: 调用可变參数的方法时.编译器为该可变參数隐含创建一个数组,在方法体中以数组的形式訪问可变參数. 条件逻辑推断型的应用(模拟人工推理) /* 有人邀请A,B,C,D

nginx的 CPU參数worker_processes和worker_cpu_affinity使用说明

Nginx默认没有开启利用多核CPU,我们能够通过添加worker_cpu_affinity配置參数来充分利用多核CPU.CPU是任务处理,计算最关键的资源,CPU核越多.性能就越好. worker_cpu_affinity这个參数要结合 worker_processes来一起使用. 首先 先说 worker_processes: worker_processes指明了nginx要开启的进程数,据官方说法,一般开一个就够了,多开几个.能够降低机器io带来的影响. 一般为当前机器总cpu核心数的1

springmvc 处理lsit类型的请求參数映射成实体属性

<table align="center" cellspacing="10"> <tr> <td> 母码数目:<input type="text" name="uidCodeGenNumParamList[0].superCodeGenNum" style="width:180px;" class="textbox" maxlength=&quo

STL算法设计理念 - 函数对象和函数对象当參数和返回值

函数对象: 重载函数调用操作符的类.其对象常称为函数对象(function object),即它们是行为类似函数的对象. 一个类对象,表现出一个函数的特征,就是通过"对象名+(參数列表)"的方式使用一个类对象,假设没有上下文,全然能够把它看作一个函数对待. 这是通过重载类的operator()来实现的. "在标准库中.函数对象被广泛地使用以获得弹性".标准库中的非常多算法都能够使用函数对象或者函数来作为自定的回调行为: demo #include <iostr

【安卓开源】安卓拼图实现,数据驱动,可记录图片位置參数,希望大家有兴趣一起完好、!

简单的"拼图"实现 1.可自由显示多张图片,每张可自由移动.旋转.缩放 2.基于json的图形位置參数存储 3.手动摆放位置后,可记录位置參数至文件 兴许: 1.切换图形位置时加上渐变动画 2.眼下录入的參数为绝对參数,没有相对手机宽度做相对參数,后期完好 ... 欢迎大家一起来丰富一些有趣的功能.!

Androidclient性能參数监控

背景: 在做androidclient測试的时候.有时候须要监控cpu/mem/电量消耗/界面载入时间/流量等等指标. 于是俺们就上下求索,网友告诉我两个方案:AnotherMonitor和Emmagee,在此之前.我自己写了一个工具,下文就这几个方案做一下比較和说明. AnotherMonitor和Emmagee都是apk的形式存在的.以下是官网: https://code.google.com/p/anothermonitor/ https://github.com/NetEase/Emma