在 Ubuntu 上运行 Java 慢,原因可能很多,下面按常见原因 + 对应解决办法给你一套排查思路,基本能覆盖 90% 的情况。
Java 随机数 /dev/random 在服务器上很容易卡死。
java -Djava.security.egd=file:/dev/./urandom -jar xxx.jar
✅ 或永久修改:
sudo vim $JAVA_HOME/jre/lib/security/java.security
改为:
securerandom.source=file:/dev/urandom
Ubuntu 默认 JVM 堆很小。
java -Xms512m -Xmx2g -jar app.jar
服务器建议:
-Xms = -Xmx
java -version
如果是:
OpenJDK Client VM
❌ 太慢
✅ 解决:
sudo apt install openjdk-17-jdk
确认:
java -server -version
✅ 建议:
mv app.jar /tmp/ 测试一次
top
htop
free -h
常见坑:
✅ 关闭 swap(服务器):
sudo swapoff -a
java -Xlog:gc* -jar app.jar
如果看到:
✅ 换 GC:
java -XX:+UseG1GC -jar app.jar
Docker 里要加:
-e JAVA_OPTS="-XX:ActiveProcessorCount=4"
WSL:
wsl --shutdown
再试
你可以直接回我:
java -version)我可以直接给你一套最优启动参数。