• jvm5-性能调优


    知识
    工具
    数据
    经验

    案例1

    问题:经常有用户反馈长时间出现卡顿的现象
    处理思路:
    偶发,所以不会是sql问题
    监控cpu
    监控内存
    发现fullGC频繁,每次需要20-30s,停顿时间过长
    总结:
    大对象过多,jvm内存设置的过大,老年代经常占满触发fullgc,老年代内存过大每次fullgc时间过长
    解决:
    部署多个web容器,每个web容器的堆内存设置到合理值,不宜过大,减少每次fullgc时间,多个web容器集群提供服务

    案例2

    问题:不定期内存溢出,把堆内存加大也无济于事。导出堆转储快照信息,没有任何信息。内存监控正常
    处理思路:jvm正常,软件没有问题,那就说明服务器有问题。系统中用到了nio直接内存,机器内存过小,直接内存将内存空间占用了,导致堆内存不够用了,触发oom
    总结经验:处理问题时不要把直接内存忽略了

    案例3

    架构:

    问题:服务a服务b经常jvm崩溃
    寻找原因为:连接请求过多,服务处理不过来,导致jvm崩溃
    解决:服务a前增加一个队列(比如mq)

  • 相关阅读:
    委托与事件
    Winform 窗体闪烁 & 任务栏提示
    Main函数
    WPF数据虚拟化
    异步编程、线程和任务
    内存管理与垃圾回收
    Winform 获取桌面设备上下文
    全选,反选,全不选以及计算价格,删除
    全选、反选、删除
    解析数据图片自动轮播——圆点
  • 原文地址:https://www.cnblogs.com/zh-ch/p/14171438.html
Copyright © 2020-2023  润新知