在 Ubuntu 上 Java 运行慢,通常不是单一原因,而是 JVM、系统配置、应用本身或资源限制 共同作用的结果。下面按常见原因 → 对应解决方案给你一个系统性的排查与优化清单。
先定位问题,而不是盲目优化:
top
htop
看:
java -version
确认 Java 版本(老版本性能差)
现象
✅ 解决
sudo apt update
sudo apt install openjdk-17-jdk
查看当前版本:
java -version
✅ 推荐:
现象
✅ 解决 启动时指定内存:
java -Xms512m -Xmx2g -jar app.jar
建议:
-Xms 和 -Xmx 设成一样,避免动态扩容现象
✅ 检查
swapon -s
✅ 临时关闭
sudo swapoff -a
✅ 永久关闭
sudo nano /etc/fstab
# 注释 swap 行
现象
✅ 解决
<root level="WARN">
✅ 查看限制
ulimit -a
常见限制:
✅ 修改
sudo nano /etc/security/limits.conf
添加:
* soft nofile 65535
* hard nofile 65535
✅ 检查
java -version
如果是:
Java HotSpot(TM) Client VM
说明是 32 位或老 JVM ❌
✅ 解决
✅ 查看 GC
java -Xlog:gc* -jar app.jar
✅ 优化 GC
java -XX:+UseG1GC -jar app.jar
或(Java 17+):
java -XX:+UseZGC
✅ 排查
✅ 工具
jstack pid
jmap -histo pid
✅ 必做
-Xms / -Xmx你可以直接贴出:
top 或 htop 截图我可以 直接给你一套最优 JVM 参数配置 ✅