如何实现全链路系统问题90%精准诊断?

简介: DevKit系统诊断工具是鲲鹏性能分析工具的子工具之一,能够针对内存、网络、存储等常见故障和异常,提供精准定位和诊断能力,帮助用户识别出源代码中的问题点,提升程序的可靠性,故障定位准确率高达90%。

你的电脑是不是很久没关机了?晚上下班不再关闭所有应用,合上笔记本就离开,第二天输入密码继续干活,不必再逐一查找处理了一半的文档和网页,长此以往,你是不是发现电脑越来越慢,闪退、反应迟钝,甚至忽然卡住、蓝屏?

其中很重要的因素,是因为长期频繁的读取新文件而不释放,会导致内存中缓存数据越来越多,当内存使用饱和之后,系统会将内存中的数据交换到硬盘中,此时如果要使用到这部分已经交换到硬盘上的数据,那么系统首先要把内存中最久远、没有使用的数据再做一次到硬盘的交换,腾出空间之后,才能把硬盘中需要使用的数据加载到内存,如此复杂的流程,运行速度当然会变慢。

上述问题在服务器中同样存在,内存作为计算机/服务器的重要部件,帮助CPU通过总线寻址实现对其他部件的读写操作,内存故障常常导致系统整体性能下降、运行故障、甚至宕机。比如程序在申请内存后,如果不及时释放已申请的内存空间,频繁累积就会形成内存泄露,导致内存被占光,触发OOM(Out of Memory)。内存越界会带来数据读写错误的风险,如果读取了不属于自己的数据会造成程序崩溃,将数据写入其他程序则会造成不可预料的后果。除了内存问题,开发人员还会经常面临网络IO故障和存储问题,比如系统配置错误,会导致网络不通;系统处理数据包不及时,会导致丢包;另外,由于存储IO协议栈很长(涉及文件系统、块、设备等多层次的读写和映射),遇到慢盘等问题时很难定位具体是哪一层造成的访问变慢。

面对上述问题,我们应该如何定位和修复呢?当前业界有各种诊断工具,针对不同问题进行诊断,然而这些工具通常操作比较复杂、学习成本高、定位时间长,找到问题点之后,也无法针对具体问题给出建议快速排除故障。开发者亟需一款操作简便、定位精准的系统诊断工具来解决开发过程中经常遇到的“老大难”问题。

DevKit系统诊断工具是鲲鹏性能分析工具的子工具之一,能够针对内存、网络、存储等常见故障和异常,提供精准定位和诊断能力,帮助用户识别出源代码中的问题点,提升程序的可靠性,故障定位准确率高达90%。

image.png

Figure 1 功能全景图

内存诊断——快速识别内存泄漏和访问越界点

通过内存诊断能力,帮助用户识别应用程序中存在的内存使用的问题点,提升程序的可靠性,具体包括:内存泄漏诊断、内存越界诊断。

image.png

Figure 2 内存泄漏点及其调用关系

支持分析应用程序中存在的内存泄漏点,包括:内存未释放、内存异常释放等,得到具体的泄漏信息,并以调用树的形式展示出来。

image.png

Figure 3 泄漏点源代码

支持关联到内存泄漏点的源代码,精确定位到泄漏点所在的代码行。

image.png

Figure 4 内存消耗信息

支持跟踪应用程序运行期间系统层、应用层(调用内存申请函数)、分配器层的内存消耗情况,支持展示整个过程的汇总数据和时序数据。用户通过该信息可以了解应用程序在整个运行期间的内存变化情况,帮助定位未发现泄漏点但内存一直增加的问题。

相关文章
|
5天前
|
运维 资源调度 监控
精准监控与自动化:提升运维效率的关键技术
在当今信息技术快速发展的背景下,运维管理越来越需要高效的监控和自动化工具来应对复杂的系统环境和服务需求。本文探讨了如何通过精准监控技术和自动化流程,提升运维效率并减少故障处理时间,从而实现IT基础设施的稳定性和可靠性。 【7月更文挑战第2天】
|
2月前
|
数据采集 Arthas 数据可视化
解密 ARMS 持续剖析:如何用一个全新视角洞察应用的性能瓶颈?
解密 ARMS 持续剖析:如何用一个全新视角洞察应用的性能瓶颈?
解密 ARMS 持续剖析:如何用一个全新视角洞察应用的性能瓶颈?
|
2月前
|
测试技术
线上环境漏测问题根因分析
线上环境漏测问题根因分析
|
10月前
|
存储 安全
在线监测污水排放的方案
在线监测污水排放的方案
70 0
智能、高效、便捷问题定位利器 —— 应用诊断分析平台 ATP 上线
一款分析功能丰富、诊断能力完备的平台,帮助用户高效定位应用诊断性能、异常行为等问题。
智能、高效、便捷问题定位利器 —— 应用诊断分析平台 ATP 上线
|
数据采集 运维 监控
治理告警风暴,告警降噪的一些典型手段
很多公司希望提升服务稳定性,而上线了各类监控系统,指标的、链路的、日志的,而且只是指标层面可能就会有多个监控系统,这么多监控系统、这么多监控目标,如果没有良好的治理,很快就会产生告警风暴的问题,如何通过一些手段达到告警降噪的效果呢?
338 0
|
监控 容灾 数据挖掘
全链路压测(6):确认范围和识别风险
全链路压测,见名知意,其本质是一个技术验证手段和过程。即通过一系列的准备工作和测试手段,来验证系统在生产环境的“三高”是否能满足某些特定情况下的业务需要。
全链路压测(6):确认范围和识别风险
|
存储 运维 监控
华汇数据运维自动化巡检-实时在线监控-实现精准化管理
运维自动化可以大大提高运维的主动性和准确性,减少技术人员的工作强度,将精力转到运维策略规划、问题分析等有价值的工作中
296 0
华汇数据运维自动化巡检-实时在线监控-实现精准化管理
|
Web App开发 SQL 监控
如何做“健康码”的性能压测
随着无线设备的普及和 5G 的大力建设,越来越多的线上系统、小程序成为了人们生活中必不可少的工具。对于这些工具,都会面对一个问题:系统能承受多少用户同时访问,面对突发的流量洪峰,能否保证系统无故障稳定运行?本文将解答这个问题并进行解说。
如何做“健康码”的性能压测
|
机器学习/深度学习 新零售 人工智能
MTSC2020 | 手淘AIOPS实战-消息全链路智能监控
MTSC2020中国互联网测试开发大会深圳站,于 2020 年 11 月 20 日至 21 日在深圳宝立方国际酒店召开,为中国质量保证行业奉上一场为期 2 天的技术盛宴,500+ 来自世界各地的测试精英们汇聚一堂探讨交流。来自阿里巴巴淘系技术部的董福铭(吾铭)、黄俊(豆豆)在主会场分享议题《手淘AIOPS实战-消息全链路智能监控》,现场反响非常热烈。
MTSC2020 | 手淘AIOPS实战-消息全链路智能监控