以下是Linux下Java配置的性能優化關鍵點:
-Xmx
(最大堆)設為相同值,避免動態擴容開銷,如-Xms4g -Xmx4g
。-XX:MaxMetaspaceSize=512m
,防止元空間溢出。-XX:MaxDirectMemorySize
限制NIO直接內存使用。-XX:+UseG1GC
,可設置暫停時間-XX:MaxGCPauseMillis=200
。-XX:+UseZGC
或-XX:+UseShenandoahGC
。-XX:+DisableExplicitGC
,避免手動觸發Full GC。-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/path/to/dump
,便于分析內存泄漏。ConcurrentHashMap
替代HashMap
,減少鎖競爭。ReentrantLock
替代synchronized
。ulimit -n 65535
,避免“Too many open files”錯誤。net.core.rmem_max
/wmem_max
提升網絡吞吐量。jstat
監控GC,jmap
生成堆轉儲,VisualVM
/JProfiler
分析內存泄漏。top
/htop
查看CPU和內存使用,iostat
監控磁盤I/O。SELECT *
。參考來源:[1,2,3,4,5,6,7,8,9,10,11]