修 改$JBOSS_HOME/bin/run.conf文件
JAVA_OPTS="-Xms 520m -Xmx 1220m -Xss 15120k +XX:AggressiveHeap"
1. +XX:AggressiveHeap
这使得 Xms 1220m没有意义。这个参数让jvm忽略Xmx参数,疯狂地吃完一个G物理内存,再吃尽一个G的swap。
另外 Xmx作为允许jvm使用的最大内存数量,不应该超过物理内存的90%。
而之所以使用了这个参数,是因为不加的话,JBoss会在运 行一天左右的时间后迅速崩溃,甚至半个小时就崩溃。
2. -Xss 15120k
这使得JBoss每增加一个线 程(thread)就会立即消耗15M内存,而最佳值应该是128K,默认值好像是512k.
这就是JBoss刚启动时,还有 200Mb内存富余,但会在一个小时内迅速用完,因为服务器的threads在迅速增加。前3天,每天都多吃80Mb左右的 swap.在第四天开始稳定下来。原因是:服务器在线程到达100之后,一般不再增加新的线程,新增加的在用完之后,会被迅速 destroy,1.25-2.10所使用的线程基本是1.21- 1.23创建的,因此没有再消耗新的内存。服务器持续运行时间达到20天。
3. -Xms
指定初始化内存大小
作如下修改:
1.修改JAVA_OPTS,去 掉+XX:AggressiveHeap,修改Xss。现在的JAVA_OPTS为:
-Xms 520m -Xmx 900m -Xss 128k
2.修改deploy/jbossweb-tomcat55.sar/service.xml
将maxThreads根据目前的访问量由默认的250降为75,并加入2个参数: maxSparseThreads="55",minSparseThreads="25"
3.去掉了一些不用的服务。
MySQL数据库配置
MySQL是一个开放源代码的数据库,有很多开源项目和小型的社团都在使 用它。要在Jboss4中使用MySQL的话首先要把MySQL的JDBC驱动放到CLASSPATH中。同样,把它复制到/server /default/lib目录下,再把/docs/examples/jca/mysql-ds.xml复制到/server/default /deploy目录下。修改mysql-ds.xml文件,设置为 com.mysql.jdbc.Driver再把设置为
jdbc:mysql:///,其中是数据库主机名是数据库名。
然后需要设置standardjaws.xml 或 jaws.xml文件的和元素:
java:/MySqlDS
mySql
同样也需要把standardjbosscmp-jdbc.xml 或 jbosscmp-jdbc.xml文件的 和 元素设置为下面这样:
java:/MySqlDS
mySql
最后再修改login- config.xml文件来使用MySQL:
sa
sa
jboss.jca:service=LocalTxCM,name=MySqlDS
修 改了mysql-ds.xml, standardjaws.xml, standardjbosscmp-jdbc.xml,和login-config.xml 文件就可以在Jboss上使用MySQL了。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16313359/viewspace-682349/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/16313359/viewspace-682349/