JVM性能调优概述

JVM性能调优概述,第1张

JVM性能调优概述 相关面试题目
  1. JVM性能调优都做了什么?
  2. 有做过JVM内存优化吗?
  3. 从SQL、JVM、架构、数据库四个方面讲讲优化思路?
  4. JVM的编译优化?
  5. JVM诊断调优工具都有哪些?
  6. JVM怎么调优,堆内存、栈空间设置多少合适?
  7. JVM相关的分析工具有哪些?具体的性能调优步骤如何?
  8. 如何进行JVM调优?有哪些方法?
  9. 如何理解内存泄漏问题?有哪些情况会导致内存泄漏?如何解决?
  10. JVM如何调优、参数怎么调?
  11. 每秒几十万并发的秒杀系统为什么会频繁发生GC?
  12. 日均百万级交易如何优化JVM?
  13. 线上生产系统OOM如何监控及定位与解决?
  14. 高并发系统如何基于G1垃圾回收器优化性能?
背景说明 生产环境中的问题
  1. 生产环境发生了内存溢出该如何处理?
  2. 生产环境应该给服务器分配多少内存合适?
  3. 如何堆垃圾回收器的性能进行调优?
  4. 生产环境CPU负载飙高该如何处理?
  5. 生产环境应该给应用分配多少线程合适?
  6. 不加log,如何确定请求是否执行了某一行代码?
  7. 不加log,如何实时查看某个方法的入参与返回值?
为什么需要调优?
  1. 防止出现OOM
  2. 解决OOM
  3. 减少Full GC出现的频率
不同阶段的考虑
  1. 上线前
  2. 项目运行阶段
  3. 线上出现OOM
调优概述 监控的依据
  1. 运行日志
  2. 异常堆栈
  3. GC日志
  4. 线程快照
  5. 堆转储快照
调优的大方向
  1. 合理编写代码
  2. 充分并合理的使用硬件资源
  3. 合理地进行JVM调优
性能优化的步骤 性能监控(发现问题)
  1. GC频繁
  2. cpu load过高
  3. OOM
  4. 内存泄漏
  5. 死锁
  6. 程序响应时间较长
性能分析(排查问题)
  1. 打印GC日志,通过GCviewer或者http://gceasy.io来分析日志
  2. 灵活运用命令行工具,jstack、jmap、jinfo等
  3. dump出堆文件,使用内存分析工具分析文件
  4. 使用阿里Arthas、jconsole、jVisualVM来实时查看JVM状态
  5. jstack查看堆栈信息
性能调优(解决问题)
  1. 适当增加内存、根据业务背景选择垃圾回收器
  2. 优化代码,控制内存使用
  3. 增加机器,分散节点压力
  4. 合理设置线程池线程数量
  5. 使用中间件提高程序效率,比如缓存,消息队列等
性能评价/测试指标
  1. 停顿时间(或响应时间)
  2. 吞吐量:运行用户代码的时间占总运行时间的比例
  3. 并发数:同一时刻,对服务器有实际交互的请求数
  4. 内存占用:java堆区所占的内存大小
  5. 相互间的关系

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5660331.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存