五分钟带你玩转Arthas(八)常见问题

简介: 五分钟带你玩转Arthas(八)常见问题


FAQ

不在本列表里的问题,请到issue里搜索。 https://github.com/alibaba/arthas/issues

Arthas attach之后对原进程性能有多大的影响

https://github.com/alibaba/arthas/issues/44

target process not responding or HotSpot VM not loaded

com.sun.tools.attach.AttachNotSupportedException: Unable to open  socket file: target process not responding or HotSpot VM not loaded

  1. 检查当前用户和目标java进程是否一致。如果不一致,则切换到同一用户。JVM只能attach同样用户下的java 进程。
  2. 尝试使用 jstack -l $pid,如果进程没有反应,则说明进程可能假死,无法响应JVM attach信号。所以同样基于attach机制的Arthas无法工作。尝试使用jmap heapdump后分析。
  3. 尝试按quick-start里的方式attach arthas-demo。

trace/watch等命令能否增强jdk里的类?

默认情况下会过滤掉java.开头的类,但可以通过参数开启。

options unsafe true

更多参考 options

怎么以json格式查看结果

options json-format true

更多参考 options

Arthas能否跟踪 native 函数

不能。

能不能查看内存里某个变量的值

不能。但可以用一些技巧,用tt命令拦截到对象,或者从静态函数里取到对象。

方法同名过滤

同名方法过滤可以通过匹配表达式,可以使用表达式核心变量中所有变量作为已知条件,可以通过判断参数个数params.length ==1, 参数类型params[0] instanceof java.lang.Integer、返回值类型 returnObj instanceof java.util.List 等等一种或者多种组合进行过滤。

可以使用 -v 查看观察匹配表达式的执行结果 https://github.com/alibaba/arthas/issues/1348

例子arthas-demo

watch demo.MathGame primeFactors traceE '{params,returnObj,throwExp}' -v -n 5 -x 3 'params.length >0 && returnObj instanceof java.util.List'

怎么watch、trace 构造函数 ?

watch demo.MathGame <init> '{params,returnObj,throwExp}' -v -n 5 -x 3 '1==1'

java.lang.ClassFormatError: null、skywalking arthas 兼容使用

当出现这个错误日志java.lang.ClassFormatError: null,通常情况下都是被其他字节码工具修改过与arthas修改字节码不兼容。

比如: 使用 skywalking V8.1.0 以下版本 无法trace、watch 被skywalking agent 增强过的类, V8.1.0 以上版本可以兼容使用,更多参考skywalking配置 skywalking compatible with other javaagent bytecode processing

Arthas能不能离线使用

可以

相关文章
|
Arthas 测试技术
这个错误提示表明Arthas无法打开目标进程的socket文
【1月更文挑战第11天】【1月更文挑战第55篇】这个错误提示表明Arthas无法打开目标进程的socket文
1483 4
|
Dubbo 应用服务中间件
java.io.IOException: invalid constant type: 18
java.io.IOException: invalid constant type: 18
913 0
java.io.IOException: invalid constant type: 18
|
网络协议 关系型数据库 MySQL
Linux (centos8)安装 MySQL 8 数据库(图文详细教程)
今天2021年4月23日。我买了阿里云centos服务器,安装mysql8.0,做一笔记,以供大家使用。 本教程手把手教你如何在 Linux 安装 MySQL 数据库,以 CentOS 8为例。
3726 0
Linux (centos8)安装 MySQL 8 数据库(图文详细教程)
|
5月前
|
Cloud Native Serverless 流计算
云原生时代的应用架构演进:从微服务到 Serverless 的阿里云实践
云原生技术正重塑企业数字化转型路径。阿里云作为亚太领先云服务商,提供完整云原生产品矩阵:容器服务ACK优化启动速度与镜像分发效率;MSE微服务引擎保障高可用性;ASM服务网格降低资源消耗;函数计算FC突破冷启动瓶颈;SAE重新定义PaaS边界;PolarDB数据库实现存储计算分离;DataWorks简化数据湖构建;Flink实时计算助力风控系统。这些技术已在多行业落地,推动效率提升与商业模式创新,助力企业在数字化浪潮中占据先机。
312 12
|
9月前
|
存储 监控 数据挖掘
智能流程管理:CRM系统助力订单与回款自动化
在现代企业管理中,CRM系统不仅是客户信息的存储库,更是提升运营效率的关键工具。通过订单管理自动化、回款跟踪自动化、财务与CRM集成、数据分析及报告,企业能减少人为错误,优化现金流,提高响应速度,增强客户满意度。CRM系统的全面应用显著提升了企业的内部效率和外部竞争力,成为推动持续发展的重要力量。
|
Kubernetes 应用服务中间件 nginx
史上最全干货!Kubernetes 原理+实战总结(全文6万字,90张图,100个知识点)(上)
史上最全干货!Kubernetes 原理+实战总结(全文6万字,90张图,100个知识点)
50838 30
|
Docker 容器
解决docker启动logstash失败的问题(可能原因)
解决docker启动logstash失败的问题(可能原因)
469 0
|
存储 搜索推荐 API
探究:Elasticsearch 文档的 _id 是 Lucene 的 docid 吗?
【8月更文挑战第31天】在深入探索Elasticsearch(简称ES)这一强大的搜索引擎时,了解其底层存储机制——特别是与Lucene的关系,对于优化查询性能、设计高效的数据模型至关重要。其中,一个常见且容易引发误解的问题便是:Elasticsearch中文档的_id字段是否直接等同于Lucene的docid?本文将通过图文并茂的方式,详细剖析这一问题,帮助读者理解两者之间的微妙关系。
308 0
|
JSON 运维 监控
Spring Boot中的健康检查端点配置
Spring Boot中的健康检查端点配置

热门文章

最新文章