开发者社区 > 云原生 > 正文

在Arthas中,这个命令不管用了吗?

trace --skipJDKMethod false 这个命令不管用了吗 没法监控 jdk 的方法 不确定有些地方是可以看到的,有些地方看不到

展开
收起
崔问问 2023-12-03 23:31:56 78 0
3 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    trace --skipJDKMethod false 这个命令是用来开启对 JDK 方法的跟踪的。如果你发现这个命令不管用,可能是因为你的 Flink 版本不支持这个功能,或者你的环境配置有问题。

    你可以尝试以下方法来解决这个问题:

    1. 检查你的 Flink 版本是否支持 trace --skipJDKMethod false 命令。你可以在 Flink 的官方文档中查找相关信息。

    2. 确保你的 Flink 配置文件(如 flink-conf.yaml)中的 taskmanager.memory.process.sizetaskmanager.memory.fraction 参数设置合理。这两个参数分别表示 TaskManager 进程的最大内存和堆内存占用比例。如果这些参数设置不合理,可能会导致 JDK 方法无法被正确跟踪。

    3. 如果以上方法都无法解决问题,你可以尝试使用其他工具或方法来监控 JDK 方法,例如使用 Java 的 JMX(Java Management Extensions)技术。

    2023-12-04 14:34:29
    赞同 展开评论 打赏
  • 是的,你提到的trace --skipJDKMethod false命令在Arthas中仍然有效。这个命令用于开启对JDK方法的跟踪,默认情况下,Arthas会跳过JDK方法,只跟踪用户自定义的Java代码。通过设置--skipJDKMethod false,你可以查看所有方法的调用栈,包括JDK方法。

    如果你在运行这个命令后仍然无法看到某些JDK方法的调用栈,可能是因为这些方法是内嵌在Java库中的,或者使用了特殊的命名规则。在这种情况下,你可以尝试使用trace命令配合类名和方法名来精确地定位问题。例如:

    trace com.example.MyClass MyMethod
    

    这将仅跟踪com.example.MyClass类的MyMethod方法的调用栈。

    2023-12-04 14:02:26
    赞同 展开评论 打赏
  • 增强 jdk 内的类 jvm 安全检查没法通过吧.是不是要把unsafe设置为true。此回答整理自钉钉群:Arthas开源交流群

    2023-12-04 08:06:19
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:

阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。

相关电子书

更多
Arthas应用诊断利器-新特征介绍 立即下载
使用Arthas 抽丝剥茧深入应用-线上诊断利器之外 立即下载
workshop专场--容器、消息&IoT专场-开发者动手实践营-容器、消息和IoT-Java诊断利器Arthas排查问题实践 立即下载