从GC、线程角度分析中间件性能
来源:互联网 发布:2016全球华人网络春晚 编辑:程序博客网 时间:2024/06/05 00:24
线上经常需要对中间件的性能进行巡检,除了中间件本身的自带监控以外。很多的java 中间件没有提供监控,或者生产环境不允许操作(比如TOMCAT)
针对中间件本身可以从GC、线程的角度分析出java虚拟机的运行情况
巡检指标:GC日志、线程dump
巡检工具:Gceasy、FastThread、PMTI、jstack、jstat、jmap 等
巡检命令:
GC 运行情况:jstat -gcutil pid 1000 20 (线上jstat 需要中间件运行的jdk,还有一些情况可能会有报错,按照提示加上-d64 、-F即可)
堆内存配置情况:jmap-heap pid 查看堆内存配置情况
内存dump:jmap -dump:format=b,file=test.log pid 文件比较大,用 IBM MemoryAnalyzer工具分析即可,建议8G内存以上的机器配置
线程运行情况:jstack-pid 输出到文本,用线程分析工具分析线程即可
占用cpu较高的线程dump 分析:
ps -mp pid -o THREAD,tid,time
printf "%x\n" tid
jstack pid | grep tid -A 30
专业分析GC日志、线程dump 网站:
GC 日志 :http://gceasy.io/ (上传GC日志即可分析)
线程dump:http://fastthread.io/(上传线程dump 文件即可分析)
专业分析工具:
内存dump 分析:IBM MemoryAnalyzer (MemoryAnalyzer-1.6.1.20161125-win32.win32.x86_64.zip)
线程分析:IBM jca 分析工具 (jca433.jar)
GC日志:IBM PMTI 工具 (ga456.jar)
附jinfo 可以在线开启 jvm参数,开启GC日志等参数,可以了解学习下
- 从GC、线程角度分析中间件性能
- 从GC的角度看性能优化(转)
- 从GC的角度看性能优化和性能计数器使用
- GC问题的分析角度
- 从程序实例角度分析进程与线程
- 从JVM角度理解线程
- 从生物学的角度对中间件和构件的思考
- 从存储角度分析hbase
- 从MVC角度分析LUCI
- 从设计角度分析MVC
- 从中医角度分析吸烟
- 从源码角度分析ViewDragHelper
- 从源码角度分析NestedScrolling
- 从技术角度来分析奥运订票网站的性能测试-Zee
- 从html角度优化网站性能
- 从开发人员角度看待性能基准测试
- 从线程角度看AO框架
- 从线程角度看AO框架
- Spark的运行架构分析(二)之运行模式详解
- python shell 中文乱码解决
- duilib 修复combo控件打开下拉菜单后不会自动定位到上次选择的位置上的bug
- redis笔记
- 解决Spring任务同时执行两次的问题
- 从GC、线程角度分析中间件性能
- iOS 设置视图半透明而子控件不透明
- 蚁群算法
- python Requests 文档
- 解决linux系统上部署jenkins 配置git的方法
- leetcode 100. Same Tree
- javamail发送邮件
- 数据库的命令行--单表增删改查
- 14:求10000以内n的阶乘