在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实现全面监控。