温馨提示×

linux weblogic为什么宕机了

小樊
39
2026-10-28 02:02:44
栏目: 智能运维

WebLogic“宕机”(进程消失、无响应、OOM、被 OS kill 等)在 Linux 上常见原因很多,需要结合日志和现象判断。下面按「最常见 → 如何排查」给你一个系统性的说明。


一、最常见的宕机原因

1. 内存不足(OOM)

表现:

  • WebLogic 进程突然消失
  • 没有正常 shutdown 日志
  • 系统变慢后服务不可用

原因:

  • JVM 堆内存设置过小
  • 内存泄漏
  • Linux 物理内存 + Swap 耗尽

排查:

# 查看是否被 OS 杀掉
dmesg | grep -i "killed process"
grep -i "out of memory" /var/log/messages

# JVM 参数
ps -ef | grep weblogic

看是否有:

-XX:HeapDumpOnOutOfMemoryError
-XX:MaxPermSize / -XX:MetaspaceSize

2. 堆内存溢出(Java OOM)

表现:

  • 日志中出现 java.lang.OutOfMemoryError
  • 线程卡死或无响应

常见类型:

  • Java heap space
  • GC overhead limit exceeded
  • Metaspace(JDK8+)

日志位置:

$DOMAIN_HOME/servers/AdminServer/logs/

看:

  • server.log
  • *.out

3. 线程死锁 / 线程爆满

表现:

  • 服务不宕但完全不响应
  • CPU 高或不动

排查:

# 获取线程栈
kill -3 <pid>
# 或
jstack <pid> > thread.txt

重点看:

  • BLOCKED
  • deadlock

4. Linux 资源限制

表现:

  • 启动一段时间就挂
  • Too many open files

检查:

ulimit -a

重点:

  • open files
  • max user processes

解决示例:

vi /etc/security/limits.conf
weblogic soft nofile 65536
weblogic hard nofile 65536

5. 磁盘满了

表现:

  • 日志突然不写
  • 服务崩溃

检查:

df -h
du -sh $DOMAIN_HOME/*

6. 被人为或脚本杀掉

  • kill -9
  • 监控脚本误杀
  • 自动化部署中断

排查:

history | grep kill
last
/var/log/secure

7. WebLogic 本身 Bug / 版本问题

  • 老版本 WebLogic(10.3 / 12.1)
  • 未打补丁
  • JDK 不兼容

二、你需要提供的关键信息(我可以精确判断)

请补充:

  1. WebLogic 版本(如 12.2.1.4)
  2. JDK 版本
  3. 宕机前现象(卡死 / 消失 / 报错)
  4. 关键日志:
    • server.log
    • *.out
    • dmesg 输出

三、快速自检清单 ✅

  • [ ] dmesg 是否被 kill
  • [ ] server.log 是否有 OOM
  • [ ] 磁盘是否满
  • [ ] ulimit 是否够
  • [ ] 是否压测或发布后宕机

如果你愿意,把宕机时的日志贴一部分,我可以直接帮你定位是哪一种宕机。

0 踩