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
。