应用性能管理 APM
应用性能管理 APM
- 最新动态
- 功能总览
- 产品介绍(2.0)
- 计费说明(2.0)
- 快速入门(2.0)
-
用户指南(2.0)
- 使用导读
- 应用列表
- CMDB管理
-
应用指标监控
- 概述
- 应用监控详情
-
应用监控配置
- 配置详情
- 配置Mysql监控项
- 配置HttpClient监控项
- 配置url监控项
- 配置JavaMethod监控项
- 配置Druid连接池监控项
- 配置ApacheHttpAsyncClient监控项
- 配置Redis监控项
- 配置Jedis监控项
- 配置HBase监控项
- 配置ApacheHttpClient监控项
- 配置Tomcat监控项
- 配置EsRestClient监控项
- 配置Websocket监控项
- 配置KafkaProducer监控项
- 配置Hikari连接池监控项
- 配置异常日志监控项
- 配置线程监控项
- 配置GC监控项
- 配置JVM信息监控项
- 配置JVM监控监控项
- 配置探针监控项
- 配置Springbean监控项
- 监控项视图
- 实例
- 采集状态
- 组件设置
- 调用链
- 应用拓扑
- URL跟踪
- 资源标签管理
- 标签管理
- 告警管理
- 探针管理
- 前端监控
- 链路追踪
- App监控
- 系统管理
- SDK参考
- 权限管理
- 修订记录
- 最佳实践(2.0)
- API参考(2.0)
- 常见问题(2.0)
- 视频帮助(2.0)
- 产品介绍(1.0)
- 快速入门(1.0)
- 用户指南(1.0)
- 最佳实践(1.0)
- API参考(1.0)
- SDK参考(1.0)
- 视频帮助(1.0)
- 文档下载
- 通用参考
文档首页/
应用性能管理 APM/
常见问题(2.0)/
Profiler性能分析常见问题/
No AllocTracer symbols found .Are JDK debug symbols installed?报错问题
链接复制成功!
No AllocTracer symbols found .Are JDK debug symbols installed?报错问题
常见问题
内存Profiler依赖JDK的符号信息,如果JDK内无符号信息,则会遇到如下问题:
[ERROR] xxxx Failed to start Continuous Profile Collector
[ERROR] xxxx No AllocTracer symbols found. Are JDK debug symbols installed?
解决方案
如果Java进程运行在容器环境,出现以上报错或者该功能无数据,一般都是由于使用了Alpine基础镜像导致。Alpine基础镜像为了控制体积而去除了JDK调试符号(debug symbols),影响Profiler功能正常使用。建议在基础镜像中为JDK安装调试符(部分JDK版本缺乏对应的调试符包,会导致无法安装)或使用非Alpine基础镜像。
如果是CentOS物理机环境部署应用可通过以下步骤安装调试符:
- 执行以下命令,确认是否已经配置了debuginfo的源。
yum repolist all | grep -i debug
通过返回信息确认源配置信息是否如下:
debuginfo/7/x86_64 CentOS-7 - debuginfo - mirrors.huaweicloud.com 启用: 8,760
- 在Yum配置文件中增加debuginfo的配置。
vi /etc/yum.repos.d/CentOS-Base.repo [debuginfo] name=CentOS-$releasever - debuginfo - mirrors.huaweicloud.com failovermethod=priority baseurl=http://mirrors.huaweicloud.com/centos-debuginfo/$releasever/$basearch/ gpgcheck=1 enabled=1 gpgkey=http://mirrors.huaweicloud.com/centos/RPM-GPG-KEY-CentOS-Debug-7
保存后执行如下命令:
yum clean all yum makecache yum-config-manager --enable debuginfo
- 安装JDK版本对应的符号信息。
JDK 8 yum list installed|grep openjdk #查询JDK版本。 java-1.8.0-openjdk.x86_64 1:1.8.0.332.b09-1.el7_9 @updates debuginfo-install -y java-1.8.0-openjdk #安装符号信息。 JDK 11 yum list installed|grep openjdk #查询JDK版本。 java-11-openjdk.x86_64 1:11.0.15.0.9-2.el7_9 @updates debuginfo-install -y java-11-openjdk #安装符号信息。
- 检查JDK的符号信息是否已经安装成功。
gdb $JAVA_HOME/lib/server/libjvm.so -ex 'info address UseG1GC' gdb /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-1.el7_9.x86_64/jre/lib/amd64/server/libjvm.so -ex 'info address UseG1GC' GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-120.el7 Copyright (C) 2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-redhat-linux-gnu". For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>... Reading symbols from /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-1.el7_9.x86_64/jre/lib/amd64/server/libjvm.so...Reading symbols from /usr/lib/debug/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-1.el7_9.x86_64/jre/lib/amd64/server/libjvm.so.debug...done. done.
如果安装正确,返回信息如下:
Symbol "UseG1GC" is static storage at address 0x107f993.
如果安装失败,返回信息如下:
No symbol "UseG1GC" in current context.
父主题: Profiler性能分析常见问题