arthas

简介: 本章节介绍JVM相关命令:查看线程堆栈、JVM信息、系统属性与环境变量,管理诊断选项、性能计数器及日志级别,支持动态修改配置,查看静态属性与MBean信息,并提供heap dump功能,助力Java应用诊断与调优。

3.jvm相关

  1. dashboard—当前系统的实时数据面板
    第二章节已说,这里不再赘述
  2. thread—查看当前 JVM 的线程堆栈信息
    第二章节已说,这里不再赘述
  3. jvm—查看当前 JVM 的信息
  4. sysprop—查看和修改JVM的系统属性
    4.1 查看全部
    4.2 查看指定属性
    4.3 修改单个属性
  5. sysenv—查看JVM的环境变量
    5.1 查看全部环境变量
    5.2 查看指定环境变量
  6. vmoption—查看和修改JVM里诊断相关的option
    6.1 查看全部option
    6.2 查看指定option
    6.3 更新指定option
  7. perfcounter—查看当前 JVM 的Perf Counter信息使用参考
    可以用-d参数打印更多信息:
    jdk9以上的应用
    如果没有打印出信息,应用在启动时,加下面的参数:
  8. logger—查看和修改logger
    8.1 查看所有logger信息
    从appenders的信息里,可以看到
    CONSOLE logger的target是System.out
    APPLICATION logger是RollingFileAppender,它的file是app.log
    ASYNC它的appenderRef是APPLICATION,即异步输出到文件里
    8.2 查看指定logger
    8.3 查看指定classloader的logger
    其中,classloader为上述8.1或8.2中返回的
    8.4 更新全局logger level
    8.5 更新指定classloader logger level
    默认情况下,logger命令会在SystemClassloader下执行,如果应用是传统的war应用,或者spring boot fat jar启动的应用,那么需要指定classloader。
    可以先用 sc -d yourClassName 来查看具体的 classloader hashcode,然后在更新level时指定classloader:
    8.6 查看没有appender的logger
    默认情况下,logger命令只打印有appender的logger的信息。如果想查看没有appender的logger的信息,可以加上参数--include-no-appender。
    注意,通常输出结果会很长
    Java
    运行代码
    复制代码
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    [arthas@2062]$ logger --include-no-appender
    name ROOT
    class ch.qos.logback.classic.Logger
    classLoader sun.misc.Launcher$AppClassLoader@2a139a55
    classLoaderHash 2a139a55
    level DEBUG
    effectiveLevel DEBUG
    additivity true
    codeSource file:/Users/hengyunabc/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar
    appenders name CONSOLE

                                     class           ch.qos.logback.core.ConsoleAppender
                                     classLoader     sun.misc.Launcher$AppClassLoader@2a139a55
                                     classLoaderHash 2a139a55
                                     target          System.out
                                     name            APPLICATION
                                     class           ch.qos.logback.core.rolling.RollingFileAppender
                                     classLoader     sun.misc.Launcher$AppClassLoader@2a139a55
                                     classLoaderHash 2a139a55
                                     file            app.log
                                     name            ASYNC
                                     class           ch.qos.logback.classic.AsyncAppender
                                     classLoader     sun.misc.Launcher$AppClassLoader@2a139a55
                                     classLoaderHash 2a139a55
                                     appenderRef     [APPLICATION]
    

    name com
    class ch.qos.logback.classic.Logger
    classLoader sun.misc.Launcher$AppClassLoader@2a139a55
    classLoaderHash 2a139a55
    level null
    effectiveLevel DEBUG
    additivity true
    codeSource file:/Users/hengyunabc/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar

    name com.alibaba
    class ch.qos.logback.classic.Logger
    classLoader sun.misc.Launcher$AppClassLoader@2a139a55
    classLoaderHash 2a139a55
    level null
    effectiveLevel DEBUG
    additivity true
    codeSource file:/Users/hengyunabc/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar
    ...

  9. getstatic—查看类的静态属性
    有需再更
  10. ognl—执行ognl表达式
    有需再更
  11. mbean—查看 Mbean 的信息
    有需再更
  12. heapdump—dump java heap, 类似jmap命令的heap dump功能
相关文章
|
5月前
|
Arthas 监控 Java
arthas 基础指令
Arthas简介:通过dashboard查看线程状态、CPU占用等;jad反编译类文件;thread分析线程堆栈及阻塞情况;watch监控方法执行耗时与参数;支持quit退出连接或stop彻底终止。适用于Java进程诊断,操作便捷,功能强大。(239字)
|
5月前
|
Arthas 监控 Java
arthas 安装
本教程介绍Arthas的安装与基础使用。需提前安装JDK并确保服务器有Java应用运行。下载arthas-boot.jar,上传Java应用(如Arthas-demo.jar),启动后通过`java -jar arthas-boot.jar`接入,选择对应进程即可监控。支持多Java进程管理,为后续深入使用奠定基础。(239字)
|
Arthas 缓存 Java
Arthas 实战,助你解决同名类依赖冲突问题(上)
上篇文章『程序员需要了解依赖冲突的原因以及解决办法』中,阿粉分析 Maven 依赖冲突分为两类: 项目同一依赖应用,存在多版本,每个版本同一个类,可能存在差异。 项目不同依赖应用,存在包名,类名完全一样的类。 第二种情况,往往是这个场景,本地/测试环境运行的都是好好的,上线之后测试就是不行。这其实与 JVM 类加载有关,本地/测试环境加载正确类,而生产环境加载错的类,为什么会这样? 主要有两个原因: 同一个类只会被加载器加载一次 不同环境,类的加载顺序不同
Arthas 实战,助你解决同名类依赖冲突问题(上)
|
5月前
|
运维 监控 Cloud Native
不是监控不行,是你观测得不够:聊聊新一代可观测性(Observability)的真相
不是监控不行,是你观测得不够:聊聊新一代可观测性(Observability)的真相
400 7
|
3月前
|
存储 人工智能 BI
2026年OpenClaw实战攻略:阿里云部署+200个Skills解锁+ClawHub技能生态详解
OpenClaw作为开源Agent框架的标杆,彻底改变了AI的使用逻辑——它不再是单纯的对话工具,而是能调用本地工具、系统程序、第三方服务的“全能执行者”。而Skills(技能插件)正是其核心竞争力所在,如同为AI配备了“超级外挂”,让OpenClaw能完成实时数据查询、PPT生成、邮件管理、代码开发等复杂任务。
1725 1
|
6月前
|
数据采集 安全 数据可视化
2025年能源管理平台厂商综合推荐:哪些方案真正帮助企业实现能耗精细管控与成本下降?
在“双碳”与数字化转型背景下,树根科技能源管理平台凭借工业互联网底座、千种协议兼容、多系统融合能力,实现能耗精准监测与智能优化。覆盖钢铁、工程机械等行业,助力企业降本增效,实证节能显著,入选Gartner魔力象限,成为制造企业绿色智控优选方案。
404 0
|
机器学习/深度学习 算法 计算机视觉
YOLOv11改进策略【SPPF】| SimSPPF,简化设计,提高计算效率
YOLOv11改进策略【SPPF】| SimSPPF,简化设计,提高计算效率
746 13
YOLOv11改进策略【SPPF】| SimSPPF,简化设计,提高计算效率
|
JSON 前端开发 JavaScript
探索JavaScript中的Async/Await:简化异步编程的利器
【10月更文挑战第12天】探索JavaScript中的Async/Await:简化异步编程的利器
379 0
|
负载均衡 Nacos 数据库
【Nacos】配置管理、微服务配置拉取、实现配置热更新、多环境配置
【Nacos】配置管理、微服务配置拉取、实现配置热更新、多环境配置
920 1