Jvisualvm Tomcat 性能调优

启动 jvisualvm
{java}/bin/jvisualvm.exe



监控远程tomcat
修改 {tomcat}/bin/catalina.sh ,新增如下内容:防火墙也要放开配置的端口

CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote=true -Djava.rmi.server.hostname=192.168.1.152 -Dcom.sun.management.jmxremote.port=8086 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false "

创建jre jmx 认证文件
cp {java}/jre/lib/management/jmxremote.password.template jmxremote.password

赋权限
chmod +w jmxremote.password

配置用户,密码可根据修改
vi jmxremote.password

放开
monitorRole QED
controlRole R&D

重启tomcat


jvisualvm 创建远程连接












内存调优

堆不够,调整tomcat 的 jvm 参数 -Xms512m -Xmx512m
备注: 选个合理的值,设置成相等,减少gc带来的性能开销
Xms : 初始堆大小
Xmx : 最大堆大小

PermGen 不够,调整tomcat 的 jvm参数 -XX:PermSize=64M -XX:MaxPermSize=128M
备注:设置合适的值,避免tomcat报 PermGen 内存溢出,导致频繁gc 造成cpu 假死。900%
XX:PermSize: 持久代大小
XX:MaxPermSize:最大持久代大小

最方便的方法,使用 jconsole.exe 监控一段时间,根据情况 设置。

测试环境打印gc日志,
tomcat jvm 参数增加: -XX:+PrintGC -XX:+PrintGCDateStamps -Xloggc:../logs/gc.log


优化原则:
1)GC 频率尽可能的少,一直GC的时间尽可能的短。(GC时,整个程序会卡住不可用)
2)微调参数,观察GC日志。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值