Debian 上 Java 运行慢,通常不是单一原因,而是系统、JVM、应用、硬件多方面叠加。下面按由浅入深、最常见 → 少见但重要的顺序给你排查和优化建议。
先定位问题,不要盲目调参数。
top
htop
vmstat 1
iostat -x 1
重点关注:
ps -ef | grep java
jps
然后:
jstat -gc <pid>
jstat -gcutil <pid> 1000
重点看:
Debian 默认可能装的是 OpenJDK Zero / Zero VM,性能很差。
java -version
典型慢的情况:
OpenJDK Runtime Environment (build ...)
Zero VM
安装 Server VM(HotSpot)
sudo apt install openjdk-17-jdk
java -version
正常应看到:
OpenJDK 64-Bit Server VM
✅ 这是 Debian 上 Java 慢的 #1 原因
Debian 上 JVM 默认堆很小,容易频繁 GC。
java -Xms512m -Xmx1024m -jar app.jar
服务器可更大:
-Xms2g -Xmx2g
Java 对磁盘非常敏感。
swapon -s
sudo swapoff -a
vm.swappiness=10
Debian 默认偏向稳定,而非性能。
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
如果是 powersave:
sudo apt install cpufrequtils
sudo cpufreq-set -g performance
java \
-Xms2g -Xmx2g \
-XX:+UseG1GC \
-XX:+DisableExplicitGC \
-XX:+HeapDumpOnOutOfMemoryError \
-jar app.jar
-XX:+UseContainerSupport
-XX:MaxRAMPercentage=75
System.out.println✅ 使用:
如果是 Spring Boot:
java -Dspring.profiles.active=prod \
-jar app.jar
并减少:
sudo apt purge gcj*
uname -m
32 位 JVM 性能差很多。
你可以对照:
java -version 不是 Zero VM-Xms -Xmx你可以直接贴这些信息,我可以精准判断:
java -versiontop 截图或文字cat /etc/os-release)我可以给你一套针对你这台机器的最优 JVM 参数。