本发明属于计算机技术领域,具体涉及一种跟踪导致内存溢出异常的测试系统及方法。
背景技术:
服务器server目前已经逐渐替代传统小型机,运行和承载着核心应用。服务器在处理大量业务数据时,不同的数据处理进程会占用并使用内存,会经常出现部分数据进程导致内存溢出异常。
内存溢出(outofmemory)是一类对服务器的运行性能造成重大影响又难以诊断的问题。由于服务器导致内存溢出的线程锁持续工作,使得其他线程申请内存的操作只能处于等待状态,严重影响了服务器的工作的性能,对客户端的请求响应速度变的异常慢,使得客户端长时间得不到服务器的正常响应,在情况严重时服务器将陷入内存溢出问题的死循环,只能通过关闭进程并重启服务器才能结束这种现象。
在现有技术中,还没有对服务器内存溢出溢出实现跟踪、统计、分析的方法及系统,因此,无法较好的掌握服务器内存的使用状况,给内存溢出异常诊断增加了难度。
如中国专利(申请公布号cn107203454a)公开了“一种动环监控主机的内核内存监控方法”。该方法要求linux内核是模块化的,支持模块的动态插入;该方法主要由核心模块、内核内存访问信息监控模块、内核内存溢出检测模块、内核内存统计信息模块和界面统一展示模块实现。本发明的一种动环监控主机的内核内存监控方法和现有技术相比,有助于动环监控主机的linux调试,尤其是在涉及底层驱动代码调试时,可以快速定位程序的内存访问位置,有利于开发及调试中深层次问题的定位,提升动环监控主机的稳定性与可靠性,并保障业务系统的稳定、可靠运行。
技术实现要素:
本发明提供一种跟踪导致内存溢出异常的测试系统及方法,用于解决现有技术中的问题。
本发明通过以下技术方案予以实现:
一种跟踪导致内存溢出异常的测试系统,所述测试系统包括:
发送模块,用于将跟踪脚本代码发送到服务器中,跟踪脚本代码获取服务器内存使用信息数据;
数据收集模块,包括存储溢出收集单元和内存分配申请溢出单元,用于实现数据内存溢出记录并生成dump文件;
数据分析模块,通过内存分析工具对dump文件进行处理,以获得内存溢出信息数据。
如上所述的一种跟踪导致内存溢出异常的测试系统,所述内存溢出数据信息为数据饼图,包括数据进程信息和内存使用状态信息。
本发明还提供了一种跟踪导致内存溢出异常的测试方法,包括如上所述测试系统,所述测试方法包括:
发送跟踪脚本代码给服务器,跟踪脚本代码在服务器运行时获取服务器内存使用信息数据;
其次,通过储溢出收集单元和内存分配申请溢出单元,用于实现数据内存溢出记录并生成dump文件;
最后,通过内存分析工具对dump文件进行处理,以获得内存溢出信息数据。
如上所述的一种跟踪导致内存溢出异常的测试方法,所述内存溢出数据信息为数据饼图,包括数据进程信息和内存使用状态信息。
与现有技术相比,本发明的优点在于:
1、有助于提高内存部件的测试手段和分析效率,经过统计与对比,相对于现有的方法,本发明可以提高内存溢出异常诊断效率20%以上。
2、本发明通过对dump文件分析,可提高服务器整机系统级别的稳定性;便于管理和查看,以及更全面系统的服务器运行状况检测和诊断。
3、提升服务器产品品质,系统更加稳固健全。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍。
图1是本发明所述测试方法的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
本实施例公开了一种跟踪导致内存溢出异常的测试系统,该测试系统包括:发送模块、数据收集模块以及数据分析模块。
其中,发送模块用于将跟踪脚本代码发送到服务器中,跟踪脚本代码获取服务器内存使用信息数据;数据收集模块,包括存储溢出收集单元和内存分配申请溢出单元,用于实现数据内存溢出记录并生成dump文件;数据分析模块,通过内存分析工具对dump文件进行处理,以获得内存溢出信息数据。
本实施例中所使用的跟踪脚本代码如下:
上述跟踪脚本代码可以实现跟踪服务器的存储溢出、内存分配申请溢出等问题,进而通过数据收集模块统计每个进程的内存使用、内存释放和溢出异常等信息,为内存溢出异常诊断解决提供数据支撑。
如图1所示,本实施例还公开了一种跟踪导致内存溢出异常的测试方法,包括如上的测试系统,该测试方法包括:
发送跟踪脚本代码给服务器,跟踪脚本代码在服务器运行时获取服务器内存使用信息数据;
其次,通过储溢出收集单元和内存分配申请溢出单元,用于实现数据内存溢出记录并生成dump文件;
最后,通过内存分析工具对dump文件进行处理,以获得内存溢出信息数据。
本测试方法中内存溢出数据信息为数据饼图,包括数据进程信息和内存使用状态信息。
本发明未详尽描述的技术内容均为公知技术。