温馨提示×

ubuntu tomcat日志内存怎么查

小樊
53
2026-08-31 11:42:48
栏目: 智能运维

在 Ubuntu 上查看 Tomcat 日志内存使用情况,可以分别从“日志文件”和“内存占用”两个角度来查。下面给你一套常用、实用的方法。


一、Tomcat 日志查看

1️⃣ Tomcat 日志目录

默认路径(以 apt 安装或常见解压安装为例):

cd /var/log/tomcat*/   # apt 安装(9 / 10 等)
# 或
cd /opt/tomcat/logs/   # 手动解压安装

常见日志文件:

文件 说明
catalina.out 主日志(最常用)
catalina.2026-01-21.log 按日期拆分
localhost.log 应用级日志
manager.log manager 应用
host-manager.log host-manager

2️⃣ 实时查看日志

tail -f catalina.out

只看最新 200 行:

tail -n 200 catalina.out

3️⃣ 搜索错误(OOM / 内存问题)

grep -i "OutOfMemoryError" catalina.out
grep -i "memory" catalina.out
grep -i "exception" catalina.out

二、Tomcat 内存使用查看

1️⃣ 查看 Tomcat 进程

ps -ef | grep tomcat

jps -l

2️⃣ 查看内存占用(系统角度)

top -p $(pgrep -f tomcat)

htop

字段说明:

  • RES:实际占用内存
  • %MEM:内存占比

3️⃣ 查看 JVM 内存详情(推荐)

jmap -heap <pid>

示例:

jmap -heap 12345

可以看到:

  • Heap Configuration
  • Eden / Survivor / Old Gen
  • 已用 / 最大内存

4️⃣ 查看 JVM 内存使用趋势

jstat -gc <pid> 1000

说明:

  • S0C / S1C:Survivor
  • EC:Eden
  • OC:Old
  • MU / OU:已用内存

5️⃣ 查看 GC 日志(是否有内存问题)

如果 Tomcat 开启了 GC 日志(推荐生产环境):

grep -i "Full GC" catalina.out

jstat -gcutil <pid> 1000

三、Tomcat 内存配置检查(重要)

1️⃣ 查看当前 JVM 参数

ps -ef | grep tomcat | grep Xmx

2️⃣ 常见内存参数位置

apt 安装(Ubuntu)

/etc/default/tomcat9
JAVA_OPTS="-Xms512m -Xmx1024m"

手动安装

bin/catalina.sh

setenv.sh

四、OOM(内存溢出)排查流程(实战)

  1. 查看日志是否有 OutOfMemoryError
  2. 确认是:
    • Heap 溢出
    • Metaspace 溢出
    • Direct buffer 溢出
  3. 调大内存:
    -Xms2g -Xmx2g
    
  4. 若仍溢出:
    • 使用 jmap 导出堆:
      jmap -dump:live,format=b,file=heap.hprof <pid>
      
    • 用 MAT / VisualVM 分析

五、常见推荐配置(示例)

JAVA_OPTS="-Xms2g -Xmx2g -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError"

如果你愿意,可以告诉我:

  • Ubuntu 版本
  • Tomcat 版本
  • apt 安装 还是 解压安装
  • 看日志 还是 真正报 OOM 了

我可以帮你精确定位 ✅

0