在Ubuntu上监控Java应用可通过以下方式:
jps:查看Java进程ID。jstat:监控堆内存、垃圾回收等指标,如jstat -gcutil <pid> 5000 10(每5秒采样10次)。jstack:导出线程堆栈,分析死锁或线程状态。jmap:生成堆转储文件,用于内存泄漏分析。jconsole:监控JVM内存、线程、CPU等指标。VisualVM:集成多维度监控,支持性能分析和故障排查。crontab定时执行。#!/bin/bash
THRESHOLD=80
PID=$(pgrep -f "java -jar myapp.jar")
CPU=$(top -bn1 -p $PID | grep "Cpu(s)" | awk '{print 100 - $8}')
if (( $(echo "$CPU > $THRESHOLD" | bc -l) )); then
echo "CPU使用率过高: $CPU%" | mail -s "告警" xxx@example.com
fi
top/htop:实时查看进程资源占用。vmstat/iostat:监控系统级内存、磁盘I/O等。根据需求选择工具,生产环境推荐结合Prometheus+Grafana实现全面监控。