Java编译时CentOS资源占用高,可从以下方面排查优化:
top -H -p $(pgrep -d ',' -f java)
查看Java进程的CPU/内存占用。jstat -gcutil <PID>
监控GC情况,判断是否因频繁GC导致CPU高负载。javac -J-Xms512m -J-Xmx2048m
(避免默认堆过小频繁扩容)。-XX:PermSize=256m -XX:MaxPermSize=512m
。javac -parallel -d outputFolder src/*.java
。-quiet
参数降低日志量。jstack
分析线程状态。cgroups
限制Java进程的CPU使用率(如cgcreate
+cgset
)。关键命令参考:
ps -eo pid,lwp,pcpu --sort=-pcpu | grep <JAVA_PID>
。jstack -l <JAVA_PID> > thread_dump.txt
。