Ubuntu系统如何调整WebLogic线程池大小
导读:Ubuntu下调整WebLogic线程池大小的实用步骤 一、先确认WebLogic版本与调优路径 WebLogic 9.x/10.x:默认启用自调优线程池;在 WebLogic 10gR3 之后,直接编辑 config.xml 设定最小/...
Ubuntu下调整WebLogic线程池大小的实用步骤
一、先确认WebLogic版本与调优路径
- WebLogic 9.x/10.x:默认启用自调优线程池;在 WebLogic 10gR3 之后,直接编辑 config.xml 设定最小/最大线程数的方式被取消,通常通过启动参数进行限制或回退到执行队列模式进行精确控制。
- WebLogic 11g(10.3.6):仍可通过启动参数设置线程池大小,或在控制台/配置文件中调整相关参数。
- 若需要按旧模式精确控制线程数,可在控制台启用**执行队列(Execute Queues)**并设定队列的 Thread Count(适用于需要固定线程数的场景)。
二、方法一 通过启动参数设置线程池大小(通用且便于回滚)
- 编辑域目录下的环境脚本:
- 路径示例:/u01/app/oracle/middleware/user_projects/domains/base_domain/bin/setDomainEnv.sh
- 在 JAVA_OPTIONS 中追加(示例将最小/最大均设为 1000):
- Linux:
- JAVA_OPTIONS=“${ JAVA_OPTIONS} -Dweblogic.threadpool.MinPoolSize=1000”
- JAVA_OPTIONS=“${ JAVA_OPTIONS} -Dweblogic.threadpool.MaxPoolSize=1000”
- export JAVA_OPTIONS
- Windows(供参考):
- set JAVA_OPTIONS=%JAVA_OPTIONS% -Dweblogic.threadpool.MinPoolSize=1000
- set JAVA_OPTIONS=%JAVA_OPTIONS% -Dweblogic.threadpool.MaxPoolSize=1000
- Linux:
- 重启服务器后生效。若需按服务器实例区分,可在对应实例的环境脚本中分别设置。上述方式在 WebLogic 11g 实测有效。
三、方法二 通过控制台或配置文件设置(版本差异需留意)
- 控制台方式(WebLogic 9.x 推荐):
- 路径:Servers → 目标服务器 → Configuration → General → Advanced Options → Configure Execute Queues → weblogic.kernel.Default → Thread Count,设置期望的线程数,保存并重启。
- 配置文件方式(WebLogic 11g 可用):
- 在 config.xml 的对应 节点内添加:
- 1000
- 1000
- 注意:WebLogic 10gR3 起官方取消了在 config.xml 直接配置线程池最小/最大值的做法,若使用 10gR3 及以后版本,优先采用“方法一”的启动参数方式。
- 在 config.xml 的对应 节点内添加:
四、Ubuntu系统层面的必要检查与优化
- 检查当前用户的线程/进程限制:
- 执行:ulimit -a(关注 max user processes 与 open files)
- 会话级临时放宽:ulimit -u 5000(示例值,按需调整)
- 永久生效:编辑 /etc/security/limits.conf(或 /etc/security/limits.d/*.conf),例如:
-
- soft nofile 65535
-
- hard nofile 65535
-
- soft nproc 65535
-
- hard nproc 65535
-
- 线程不足或内存紧张时,常见报错包括:
- “java.lang.OutOfMemoryError: Resource temporarily unavailable in tsStartJavaThread”
- 或提示无法分配大块内存、建议减少线程数/栈大小等。此时可结合降低 -Xmx/-Xms、减小 -Xss、减少线程数或升级到 64 位 Java/OS 等手段综合优化。
五、验证与常见关联参数
- 验证与监控:
- 控制台路径:Monitoring → Threads,查看执行线程数量、状态与队列情况;也可在服务器实例的 Monitoring → Performance 观察 Queue Length 等指标,确认调优效果。
- 关联参数建议:
- 若出现大量“长时间忙碌”的线程,可适当提高 StuckThreadMaxTime(默认 600s,可调至 1200s)并结合应用优化,避免误判为线程不足。
- 在 Configuration → Tuning 中可调整 Accept Backlog(默认 50),当客户端出现连接拒绝或响应迟缓时可按约 25% 逐步上调,直至问题缓解。
- 启用 Native IO 可提升网络读写性能;同时可配置 ThreadPoolPercentSocketReaders(默认 33%)以平衡“读 socket”和“执行任务”的线程比例。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu系统如何调整WebLogic线程池大小
本文地址: https://pptw.com/jishu/764891.html
