`
lydawen
  • 浏览: 471587 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

openfire jvm参数配置

    博客分类:
  • java
阅读更多

  XMPP协议的一个服务器实现(也是目前较多使用的服务器)Openfire,这里有 3.7为例,默认的jvm启动内存配置较小,至少在我windows测试时,新生代只有1M,整个堆12M,老年代10M,永久区16M左右。在我加上GC信息后发现gc较频繁。通过修改jvm启动参数后,gc明显减少,这对提升openfire的性能还是比较明显。

 

修改openfire jvm启动参数方式(原文:http://blog.csdn.net/simonhe1973/archive/2009/09/21/4576696.aspx)

原文有误。

 

Windows:
在openfire的bin目录下建立openfired.vmoptions(作为应用程序运行)或者openfire-service.vmoptions(作为服务运行)
内容添加
-Xms512m
-Xmx512m

Linux:
修改/etc/sysconfig/opfire文件
去掉注释
OPENFIRE_OPTS=”-Xmx512m”

同理如加GC信息也加在上述文件中。

以上为灰色为原博客文章。实际linux下应修改$openfire_home/bin/openfire

INSTALL4J_ADD_VM_PARAMS="-Xms16g -Xmx16g -Xmn8g "

=========================

今天对openfire做压力测试,初步尝试10000个连接消息接收情况,结果刚到800多个,就连不上了,错误:Connection failed. No response from server.: 

at org.jivesoftware.smack.PacketReader.startup

到openfire所在服务器:jstat -gcutil jpid 发现gc非常频繁,开销非常大!

 

  0.00  85.00  92.77  62.97  99.97   3613   34.783   893 1514.143 1548.926

 72.73   0.00  86.76  63.03  99.97   3616   34.791   893 1514.143 1548.934

  0.00  72.73  80.76  63.10  99.97   3619   34.798   893 1514.143 1548.941

 88.89   0.00  72.50  63.15  99.97   3622   34.814   893 1514.143 1548.957

  0.00  80.00  64.42  63.21  99.97   3625   34.821   893 1514.143 1548.964

100.00   0.00  40.32  63.29  99.97   3628   34.828   893 1514.143 1548.971

  0.00  93.75  34.14  63.33  99.97   3631   34.835   893 1514.143 1548.978

 80.00   0.00  30.24  63.40  99.97   3634   34.842   893 1514.143 1548.985

  0.00  85.00  24.13  63.45  99.97   3637   34.849   893 1514.143 1548.992

 75.00   0.00  16.18  63.50  99.97   3640   34.857   893 1514.143 1549.000

  0.00  80.00  12.04  63.55  99.97   3643   34.864   893 1514.143 1549.007

 80.00   0.00   6.02  63.64  99.97   3646   34.871   893 1514.143 1549.014

  0.00  50.00   0.00  63.69  99.97   3649   34.878   893 1514.143 1549.021

  0.00  80.00  94.77  63.74  99.97   3651   34.883   893 1514.143 1549.026

 80.00   0.00  88.74  63.79  99.97   3654   34.890   893 1514.143 1549.033

  0.00  80.00  80.60  63.86  99.97   3657   34.907   893 1514.143 1549.050

 10.00   0.00  70.52  63.90  99.97   3660   34.917   893 1514.143 1549.060

  0.00 100.00  64.34  63.95  99.97   3663   34.923   893 1514.143 1549.067

 72.73   0.00  58.49  64.00  99.97   3666   34.931   893 1514.143 1549.074

很明显能看出永久区快满了,上面的参数配置得派上用场了。服务器32G内存就跑了个服务器,那么。。。。。。

 

 

分享到:
评论

相关推荐

    openfire jvm配置文件

    `openfire.vmoptions`文件主要用于设置Openfire主进程的JVM参数。这个文件允许你定制Java虚拟机的行为,包括但不限于以下方面: 1. **内存分配**: 可以设置堆内存大小,如`-Xms`和`-Xmx`参数分别定义了JVM启动时的...

    linux下openfire安装配置

    例如,设置JVM参数: ```xml <jvm> <initialMemoryPool>512m <maximumMemoryPool>1024m </jvm> ``` 配置数据库连接: ```xml <provider>jdbc <driver>com.mysql.jdbc.Driver</driver> <url>jdbc:mysql://...

    openfire开发文档.pdf

    环境配置的第二部分是配置Openfire运行环境,这涉及到在Eclipse中配置Java应用程序的运行参数,包括设置正确的工程名称和主类名。文档中还提到了如何在Eclipse中使用Ant工具进行项目的部署,Ant是一个基于Java的跨...

    openfire二次开发

    这包括设置环境变量,如`JAVA_OPTS`来调整JVM参数,以及`OPENFIRE_HOME`指向Openfire的安装目录。另外,还要确保Eclipse能够正确部署和运行修改后的代码。 6. **版本控制与持续集成** 为了保持代码版本管理和团队...

    文档openfire应用

    - **性能优化**:对于高并发场景,可能需要对Openfire进行性能调优,比如调整JVM参数、增加内存等。 - **安全性**:为了提高安全性,建议定期更新Openfire到最新版本,并且使用强密码策略。 以上就是关于Openfire在...

    编译后的openfire 下载.rar

    在MyEclipse 中部署Openfire,需要设置服务器配置,包括JVM参数、端口设置、数据库连接等。部署完成后,可以通过Web管理界面进行服务器管理和监控。 9. **调试与测试** MyEclipse 提供的调试工具可以帮助开发者...

    自己工程of调试

    2. **配置远程调试**:在Openfire的启动脚本(如`bin/startup.sh`或`bin/start.bat`)中,添加`-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000`参数。这将开启Openfire的JVM远程调试端口,...

    超级课程表的技术选型

    - **Openfire**:优点在于简单易部署,但不支持分布式部署,适合小型系统。 - **Ejabberd**:利用Erlang语言的优势,在并发性和稳定性方面表现优异,适合大型分布式环境,但维护成本较高。 - **GoPush**:基于Go语言...

    java开源包1

    JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的...

    java开源包11

    JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的...

    java开源包2

    JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的...

    java开源包3

    JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的...

    java开源包6

    JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的...

    java开源包5

    JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的...

    java开源包10

    JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的...

    java开源包4

    JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的...

    java开源包8

    JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的...

    java开源包7

    JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的...

    java开源包9

    JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的...

Global site tag (gtag.js) - Google Analytics