Ubuntu系统中WebLogic的资源限制如何设置
导读:Ubuntu下WebLogic资源限制设置指南 一 操作系统级限制 文件描述符与进程数 编辑限制文件,为运行WebLogic的系统用户(如weblogic)设置持久化上限: 打开:/etc/security/limits.conf...
Ubuntu下WebLogic资源限制设置指南
一 操作系统级限制
-
文件描述符与进程数
- 编辑限制文件,为运行WebLogic的系统用户(如weblogic)设置持久化上限:
- 打开:/etc/security/limits.conf
- 追加示例:
- weblogic soft nofile 65536
- weblogic hard nofile 65536
- weblogic soft nproc 16384
- weblogic hard nproc 16384
- 确保PAM加载limits模块(Ubuntu 通常使用common-session与common-session-noninteractive):
- 在文件末尾添加:session required pam_limits.so
- 若通过systemd服务启动(如weblogic.service),在单元或全局配置中补充:
- 编辑:/etc/systemd/system.conf 或服务的**[Service]**段
- 增加:LimitNOFILE=65536、LimitNPROC=16384
- 使配置生效:systemctl daemon-reload & & systemctl restart weblogic.service
- 提升系统级文件句柄上限(可选):
- 编辑:/etc/sysctl.conf,添加:fs.file-max = 100000
- 应用:sysctl -p
- 说明:nofile影响套接字/文件句柄,nproc影响用户可创建的进程/线程数,二者共同决定WebLogic可承载的并发连接与线程规模。
- 编辑限制文件,为运行WebLogic的系统用户(如weblogic)设置持久化上限:
-
内存与OOM策略
- 调整OOM优先级,降低WebLogic被内核OOM Killer终止的概率(以weblogic用户运行):
- 查看:cat /proc//oom_score_adj
- 调整:echo -1000 > /proc//oom_score_adj(数值越小越不容易被杀死)
- 可选:启用zram/zswap缓解内存压力(在内存紧张、写放大明显的场景更实用)。
- 调整OOM优先级,降低WebLogic被内核OOM Killer终止的概率(以weblogic用户运行):
二 WebLogic自身资源限制
-
JVM堆与堆外内存
- 编辑域目录下的bin/setDomainEnv.sh,设置堆与直接内存(示例为8GB堆,按物理内存与GC策略调整):
- 在合适位置加入:
- export MEM_ARGS=“-Xms8g -Xmx8g -XX:MaxDirectMemorySize=2g”
- 注意:不同JDK版本对参数的支持不同;在较新JDK中MaxPermSize已废弃,直接内存由MaxDirectMemorySize与堆外分配共同决定。
- 在合适位置加入:
- 重启WebLogic后通过管理控制台或启动日志确认JVM参数生效。
- 编辑域目录下的bin/setDomainEnv.sh,设置堆与直接内存(示例为8GB堆,按物理内存与GC策略调整):
-
线程池与工作负载
- 通过控制台设置(推荐):环境 → 服务器 → → 配置 → 线程池,调整默认线程池的最大线程数等,以匹配连接数与业务并发。
- 通过启动参数固定线程池(可选,示例为固定200线程):
- 在setDomainEnv.sh的JAVA_OPTIONS中加入:
- -Dweblogic.threadpool.MinPoolSize=200
- -Dweblogic.threadpool.MaxPoolSize=200
- 在setDomainEnv.sh的JAVA_OPTIONS中加入:
- 过载保护与队列容量
- 在控制台环境 → 服务器 → → 配置 → 过载中,设置Shared Capacity For Work Managers(全局工作管理器共享容量)与队列上限,超出后按策略拒绝新请求,避免雪崩。
- 并发会话上限
- 在应用的web.xml或weblogic.xml中限制会话数,示例(限制为12000):
- **12000**
- 达到阈值后拒绝新建会话,配合负载均衡/代理实现故障转移。
- 在应用的web.xml或weblogic.xml中限制会话数,示例(限制为12000):
三 验证与常见问题
- 生效验证
- 查看进程限制:cat /proc/< wls_pid> /limits(应看到nofile/nproc已达设定值)
- 查看句柄使用:lsof -p < wls_pid> | wc -l
- 查看线程数:ps -eLf | grep < wls_pid> | wc -l
- 查看JVM参数:jinfo < wls_pid> 或在控制台“服务器 → 监视 → 性能”中观察
- 常见故障与处理
- 启动时报错“Resource temporarily unavailable(tsStartJavaThread)”“无法创建更多线程”等,多为系统nproc/nofile或内存不足:
- 提升limits.conf中的nproc/nofile,必要时增大Xmx或适度降低线程数/线程栈(-Xss),并确保使用64位JDK与足够的物理内存/交换空间。
- 启动时报错“Resource temporarily unavailable(tsStartJavaThread)”“无法创建更多线程”等,多为系统nproc/nofile或内存不足:
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu系统中WebLogic的资源限制如何设置
本文地址: https://pptw.com/jishu/786585.html
