内存分配设置
start.sh
或catalina.sh
)-Xms512m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=512m
根据服务器内存调整数值,通常Xmx设为可用内存的70-80%垃圾回收优化
-Xmn256m
-XX:+UseG1GC (G1垃圾回收器,适用于大内存应用)
或
-XX:+UseConcMarkSweepGC (CMS垃圾回收器,低延迟)
Tomcat优化(如使用Tomcat)
Nginx/Apache反向代理优化
proxy_connect_timeout 60s;
proxy_read_timeout 600s;
proxy_send_timeout 600s;
proxy_buffer_size 64k;
proxy_buffers 4 128k;
proxy_busy_buffers_size 256k;
内存与GC日志
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/path/to/dump.hprof
-Xloggc:/path/to/gc.log
-XX:+PrintGCDetails
-XX:+PrintGCDateStamps
JIT编译优化
-XX:+AggressiveOpts
-XX:+UseFastAccessorMethods
-XX:+UseStringCache
针对大内存应用的优化
-XX:+UseLargePages
-XX:LargePageSizeInBytes=2m
宝塔内置监控
Java监控工具
jstat
监控GC情况:
jstat -gcutil <pid> 1000
jvisualvm
或jconsole
进行图形化监控日志分析
内存泄漏
jmap
生成堆转储文件分析GC频繁
长时间停顿
通过以上优化配置,可以显著提升Java应用在宝塔面板环境下的性能和稳定性。