在 Ubuntu 下 Java 编译慢 通常是多方面原因叠加导致的,下面按常见原因 → 排查方法 → 优化建议来说明。
✅ 检查:
java -version
javac -version
推荐:
Ubuntu 下默认 JVM 参数很小,编译大项目时:
✅ 检查:
free -h
top
✅ 解决: 设置环境变量:
export JAVA_OPTS="-Xms512m -Xmx2048m"
Maven / Gradle:
export MAVEN_OPTS="-Xmx2048m"
export GRADLE_OPTS="-Xmx2048m"
Java 编译是 大量小文件读写:
.class✅ 检查:
iostat -x 1
✅ 建议:
/home 加密)编译/tmp 或本地盘Ubuntu 上常见:
clamavAppArmor✅ 检查:
ps aux | grep clam
✅ 建议:
sudo clamscan --exclude=/path/to/project
✅ 优化:
mvn -T 4 compile
✅ 优化:
# gradle.properties
org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.caching=true
大型项目常见:
✅ 检查:
apt 进程多如果你是:
/mnt/c⚠️ 非常慢!
✅ 建议:
~/project
不要放:
/mnt/c/...
大项目编译会打开大量文件。
✅ 检查:
ulimit -n
✅ 建议:
ulimit -n 65536
java -version
free -h
iostat -x 1
ulimit -n
echo $JAVA_OPTS
| 场景 | 原因 |
|---|---|
| 第一次编译慢 | 正常 |
| 每次都慢 | 内存 / IO |
| WSL 下慢 | 文件系统 |
| Maven 慢 | 并行未开 |
| Gradle 慢 | daemon 未开 |
如果你愿意,可以告诉我:
我可以直接给你针对性优化方案。