Arthas中JVM相关命令详解

举报
林欣 发表于 2024/08/31 16:30:14 2024/08/31
【摘要】 Arthas是一款由Alibaba开源的Java诊断工具,它能够在不重启JVM的情况下,实时查看和修改JVM的运行参数,从而帮助开发者诊断和解决生产环境中的性能问题。以下是Arthas中JVM相关命令的详细解析: 1. dashboard功能:查看当前系统的实时数据面板,包括CPU、内存、线程、GC等关键指标。参数:-i:刷新实时数据的时间间隔(ms),默认5000ms。使用示例:dashb...

Arthas是一款由Alibaba开源的Java诊断工具,它能够在不重启JVM的情况下,实时查看和修改JVM的运行参数,从而帮助开发者诊断和解决生产环境中的性能问题。以下是Arthas中JVM相关命令的详细解析:

1. dashboard

功能:查看当前系统的实时数据面板,包括CPU、内存、线程、GC等关键指标。

参数

  • -i:刷新实时数据的时间间隔(ms),默认5000ms。

使用示例

  • dashboard -i 10000:间隔10秒刷新一次大盘信息。

注意:此命令是一个可视化的控制台,显示CPU、内存等使用指标以及线程的状态,是初步查看系统性能问题的常用命令。

2. thread

功能:查看当前JVM的线程堆栈信息。

参数

  • id:指定线程ID,查看该线程的运行堆栈。
  • -n <N>:指定最忙的前N个线程并打印堆栈。
  • -b:找出当前阻塞其他线程的线程。
  • -i <value>:指定CPU使用率统计的采样间隔,单位为毫秒,默认值为200。
  • --all:显示所有匹配的线程。

使用示例

  • thread:显示当前线程。
  • thread -n 3:显示最忙的前3个线程并打印堆栈。
  • thread --state RUNNABLE:查看运行时状态的线程。
  • thread -b:打印当前阻塞其他线程的线程。

3. jvm

功能:查看当前JVM的信息,包括线程数、文件描述符数、内存信息等。

使用示例

  • jvm:查看JVM的基本信息。

数据说明

  • THREAD相关:包括活跃的线程数、守护线程数、曾经活着的最大线程数等。
  • 文件描述符相关:包括最大可以打开的文件描述符数、当前打开的文件描述符数等。
  • 内存信息:包括堆大小、非堆大小、代码缓存、元空间等。

4. memory

功能:查看JVM的内存信息,包括堆内存和非堆内存的使用情况。

使用示例

  • memory:查看JVM的内存信息。

5. vmoption

功能:查看和修改JVM里诊断相关的参数。

参数

  • 查看所有option:vmoption
  • 查看指定option:vmoption <optionName>
  • 更新指定option(如果可写):vmoption <optionName> <newValue>

注意

  • 不是所有的JVM启动参数都可以在运行时通过vmoption命令进行修改。一些关键参数(如-Xms和-Xmx)在JVM启动时设置,并且在运行期间不能修改。

6. heapdump

功能:dump Java堆内存,类似于jmap命令的heap dump功能。

参数

  • --live:可选参数,表示只打印有活跃引用的对象,丢弃进行垃圾回收的对象。
  • [文件路径/文件名.hprof]:指定dump文件的保存路径和名称。

使用示例

  • heapdump --live /root/test/study-06-01.hprof:dump当前JVM的堆内存到指定文件,只包含活跃对象。

7. 其他命令

  • getstatic:查看类的静态属性。不推荐使用,推荐使用ognl命令。
  • ognl:执行OGNL表达式,用于更复杂的对象属性访问和操作。
  • mbean:查看MBean的信息。MBean是一种规范的JavaBean,用于在JMX中注册和管理。
  • sysenv:查看JVM的环境变量。
  • sysprop:查看和修改JVM的系统属性。
  • vmtool:从JVM里查询对象,执行forceGC等操作。

总结

Arthas提供的JVM相关命令覆盖了线程、内存、JVM信息、堆dump等多个方面,为Java应用的性能诊断和调优提供了强大的工具。开发者可以根据实际需要选择合适的命令来监控和分析JVM的性能问题。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。