以下是Linux下Java配置的性能优化关键点:
-Xms
(初始堆)和-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]