本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
进程热点追踪用于单个节点在某一时段的热点分析,并生成进程的调用图谱,帮助开发人员快速识别应用程序中的性能瓶颈和热点问题。本文将介绍进程热点追踪的使用说明。
使用场景
业务应用性能波动的场景。
进程竞争,出现系统资源抢占。
系统自身原因:
在特定时刻,停止对高活跃度(热点)函数进行拦截或监控的钩子机制未能正常运作。
当系统内存紧张时,为了保证当前活跃程序的运行,操作系统频繁地进行换页操作。
访问资源开销较大的sys接口、proc接口等。
使用限制
地域限制
本功能目前仅支持中国内地与中国香港。
操作系统限制
架构
操作系统
架构
操作系统
x86架构
Alibaba Cloud Linux 2/3
CentOS 7.6及以上版本
Anolis OS 8.4以上版本
ARM架构
Alibaba Cloud Linux 3
前提条件
如果您使用RAM用户,请确保阿里云账号(主账号)已将系统策略
AliyunECSReadOnlyAccess
和AliyunSysomFullAccess
授予RAM用户。具体操作,请参见为RAM用户授权。已开通控制台权限。
首次登录操作系统控制台时,单击开通服务以开通控制台服务。
操作步骤
登录操作系统控制台。
为目标ECS实例安装SysOM。具体操作,请参见安装组件。
在左侧导航栏,选择系统观测 > 进程热点追踪。
在页面左侧顶部,选择目标实例所在的地域。
您可以根据实际需求,选择以下方式进行进程热点追踪。
方式一:若您不需要采集JAVA的栈信息,选择条件后单击执行热点追踪。
方式二:若您要追踪JAVA进程的热点并采集JAVA栈信息,则可通过配置java热点追踪来实现。
配置java热点追踪功能有低概率出现应用崩溃的情况。
配置java热点追踪按钮初始为不可点击状态,选择实例和PID为java后变为可点击状态,单击配置java热点追踪。
勾选开启Java内存/锁热点追踪功能,配置相关参数,配置完成后单击执行。
Java相关配置说明:
配置项
说明
配置项
说明
内存/锁热点追踪
是否开启Java内存/锁热点追踪
设置存储路径
存储ATP Agent及ATP采集到的热点信息,同时确保用户进程能够访问该路径。该目录的存储大小为50 MB。
运行时长
Java内存/锁热点追踪的运行时长,最长不超过7天。
选择实例和PID为Java,热点类型可选项新增了内存和锁两种追踪方式。
选择实例和PID为Java,如果时间段选择不在内存/锁热点追踪运行的时间段时,热点类型仅有ONCPU选项。
开启Java内存/锁热点追踪后,如果没有足够的内存分配或锁事件,热点类型可能不会增加内存和锁追踪方式。
根据实际需求选择热点类型和时间范围后单击执行热点追踪。
结果分析说明
分析结果。
分析结果由大模型生成,会分析进程的调用栈热点,分析可能的原因并给出优化建议,如下图所示。
进程热点时序图。
展示所选实例进程的oncpu采样值随时间变化的时序图,有助于开发人员迅速识别进程的关键热点时刻。
进程函数调用关系热点图。
展示所选实例的进程函数调用关系及热点分布。该面板提供火焰图、函数表、图表结合、调用图表和调用图谱五种模式,并支持全屏观察,能够帮助用户深入分析单点单进程的函数调用关系及热点。
火焰图模式。
火焰图展示了函数调用的层次结构及其时间分布,支持交互点击,以便对调用栈进行聚焦。这一功能能够帮助开发人员快速识别应用程序中的性能瓶颈和热点问题。
函数表模。
函数表将展示函数的名称、自身热度、总热度等信息,并且可以根据自身热度或总热度对函数行进行重新排序。
图表结合模式。
面板的默认打开模式,左右两侧分别展示函数表和火焰图。
调用图谱模式。
调用图谱支持拖动和缩放,可根据需要进行视图调整。
以树状图模式清晰展示函数之间的调用关系。每个节点框代表一个函数。
自:表示函数自身的热度。
调:表示被调用函数的热度总和。
总:表示函数自身的热度和被调用函数的热度总和。
边:表示调用关系。边上的百分比数字显示被调用函数“总”的占比。
- 本页导读 (1)
- 使用场景
- 使用限制
- 前提条件
- 操作步骤
- 结果分析说明