JBoss 性能优化(解决Jboss内存紧张的问题)
2023-09-11 14:19:23 时间
修改$JBOSS_HOME/bin/run.conf文件
JAVA_OPTS="-Xms 520m -Xmx 1220m -Xss 15120k +XX:AggressiveHeap"
1. +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天。
另外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.去掉了一些不用的服务。
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.去掉了一些不用的服务。
相关文章
- 内存对齐
- 内存运行PE文件
- 【转】4G内存下MySQL修改配置文件以优化效率(来自discuz)
- 全面理解Unity加载和内存管理
- 内存池和tcmalloc的性能比较
- XMOVE3.0手持终端——软件介绍(四):在2KB内存的单片机上实现的超精简五子棋对战算法(原创)
- 透过内存图看堆栈
- 35、Android 性能优化、内存优化
- Dev 显式注册的EvenHandler要显式注销以避免内存泄漏
- 利用 Chrome 开发者工具自带的 Memory 工具分析 Node.js 应用的内存分配情况
- iOS Block的内存管理
- 内存问题难定位,那是因为你没用ASAN
- 【深入理解JVM】:Java内存模型JMM
- Visual Studio中检测内存泄漏的方法
- C++基础:内存池
- 【Android 逆向】Android 进程注入工具开发 ( EIP 寄存器指向 dlopen 函数 | ESP 寄存器指向栈内存 | 调试程序收回目标进程控制权 )
- 避免内存重叠memmove()性能
- 分析 k8s docker 查看 内存 CPU使用率 k8s docker 性能 分析
- LabVIEW性能和内存管理 8
- sar 找出系统瓶颈的利器 目前Linux上最为全面的系统性能分析工具之一 直接 sar -dur 1 30 即可看内存 CPU和IO占用
- 深度解读Facebook刚开源的beringei时序数据库——数据压缩delta of delta+充分利用内存以提高性能
- 【C/C++】C/C++中的内存四区
- java 内存泄露的几种情况
- Android面试-Android性能优化和内存优化、APP启动速度一线大厂的实战案例解析
- android adb 命令获取手机应用性能数据 (CPU、内存、流量)
- CMD内存定位文件-1