从 GC、线程 角度分析中间件性能

发布于 2024-07-07 15:13:25 字数 1103 浏览 12 评论 0

线上经常需要对中间件的性能进行巡检,除了中间件本身的自带监控以外。很多的 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 日志等参数,可以了解学习下。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

紫轩蝶泪

暂无简介

0 文章
0 评论
22 人气
更多

推荐作者

玍銹的英雄夢

文章 0 评论 0

我不会写诗

文章 0 评论 0

十六岁半

文章 0 评论 0

浸婚纱

文章 0 评论 0

qq_kJ6XkX

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文