码迷,mamicode.com
首页 > 编程语言 > 详细

初级Java工程师也能轻松进行JVM调优了

时间:2020-07-29 17:54:28      阅读:85      评论:0      收藏:0      [点我收藏+]

标签:follow   get   推出   修复   main   准备   file   too   block   

本文来自: PerfMa技术社区

PerfMa(笨马网络)官网

Java 性能调优对于每一个Java程序员来说,是实现技术进阶必不可缺的知识了。比如:一台8G的服务器怎么配置JVM参数?我的JVM参数是否合理?如何分析内存Dump文件?如何分析线程Dump文件?等等...,你肯定或多或少都遇到过,熟知Java虚拟机的工作原理可以大幅提升日常编程的效率,对寻常Bug的修复更是轻而易举。

为此,PerfMa推出了一款 Java 应用综合体检工具,将原本枯燥繁杂的配置项、线程状态等信息通过清晰美观的可视化界面展现,且对重要指标进行了分析和详解,来帮助 Java 工程师们可以更便捷的进行应用性能调优。

下面就让我们来全面了解一下如何使用 XPocket 吧~

「XPocket - Java 应用综合体检」

一款针对 Java 应用程序的命令行工具包。通过简单的交互,可以对 Java 程序进行综合体检。

  • JVM 参数优化:全面诊断JVM参数,给出综合优化建议,并提供优化后的参数列表,即使不太懂JVM参数的初级用户,也可以借助本产品得到相对合理的参数列表。
  • Java线程分析:更直观的定位各种线程,线程池泄露问题。更全面的展示线程,线程池,锁等数据的内在联系。
  • 更多功能正在加强中,敬请期待~

最新版,工具下载地址:

前置条件

JDK 1.6 ~ 1.8,环境变量 JAVA_HOME 已设置。

准备待检 Java 进程

启动任意的 Java 进程。这里以一个从 Spring Boot 官网生成 Web Demo 工程为例,为了方便展示效果,为它加上一些 JVM 参数:

 
java -Xmx256M -Xms100M -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=256M -jar demo-0.0.1-SNAPSHOT.jar 
启动

进入对应版本号目录

  • Window 用户,双击执行 xpocket.bat
  • Linux/MacOS 用户,命令行执行 sh xpocket.sh

技术图片

支持游客模式,但游客的分析数据会被公开,推荐激活后使用。

Attach Java 进程

激活成功(或以游客模式登入)后,自动列出当前运行的Java进程。选择一个进程,输入对应的序号,回车。

技术图片

JAVA 线程分析

输入thread,回车。 将执行一次线程Dump并分析。 可以查看当前进程的线程状态统计、线程池概况、锁概况。

技术图片

可以根据提示,访问「XSheepdog - Java线程Dump分析」页面,获取更加详细的线程分析报告。

技术图片

JVM 参数优化

输入args,回车。

可以查看进程的JVM参数,并根据当前实际环境信息(内存、CPU、操作系统、JDK版本)生成一份针对性的优化建议。

技术图片

可以根据提示,访问「XXFox - Java虚拟机参数分析」页面,获取更加详细的JVM参数优化建议。

技术图片

一起来学习吧

PerfMa KO 系列课之 JVM 参数【Memory篇】

用crash工具分析Linux内核死锁的一次实战

初级Java工程师也能轻松进行JVM调优了

标签:follow   get   推出   修复   main   准备   file   too   block   

原文地址:https://www.cnblogs.com/perfma/p/13397918.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!