centos

CentOS Java虚拟机参数调优

小樊
45
2025-09-01 16:51:52
栏目: 云计算

一、JVM参数调优

  1. 内存配置
    • 设置初始堆(-Xms)和最大堆(-Xmx)为相同值,避免动态扩展开销,如 -Xms4g -Xmx4g
    • 根据物理内存调整,建议不超过物理内存的3/4,预留部分内存给系统和其他进程。
  2. 垃圾回收器选择
    • 大内存堆(>4GB)选G1:-XX:+UseG1GC,可设置最大GC停顿时间(如 -XX:MaxGCPauseMillis=200)。
    • 多核CPU、高吞吐量场景选Parallel GC:-XX:+UseParallelGC
  3. 内存区域比例
    • 调整新生代与老年代比例(-XX:NewRatio,默认2,即老年代占2/3)。
    • 调整Eden区与Survivor区比例(-XX:SurvivorRatio,默认8,即Eden占8/10)。
  4. 其他参数
    • 启用GC日志:-XX:+PrintGCDetails -XX:+PrintGCDateStamps,便于分析。
    • 禁用偏向锁(Java 15+默认禁用):-XX:-UseBiasedLocking

二、系统级优化

  1. 内核参数调整
    • 增加文件描述符限制:编辑 /etc/security/limits.conf,设置 * soft nofile 65535
    • 优化网络参数:net.ipv4.tcp_max_syn_backlog=8192net.core.somaxconn=1024
  2. 资源管理
    • 关闭Swap(若内存充足):swapoff -a,或调整 vm.swappiness=1
    • 使用ZRAM压缩内存交换(需安装):减少磁盘I/O。

三、工具与监控

  1. JVM监控工具
    • 命令行:jstat(监控GC)、jmap(生成堆转储)、jstack(线程分析)。
    • 图形化:jvisualvmJConsole,实时查看内存和线程状态。
  2. APM工具
    • Prometheus + Grafana:监控系统指标和JVM性能。
    • Arthas:动态追踪Java应用运行状态,排查性能问题。

四、注意事项

参考来源:[1,2,3,4,5,6,7,8,9,10,11]

0
看了该问题的人还看了