CN105224433B - 一种内存监控方法及服务器 - Google Patents

一种内存监控方法及服务器 Download PDF

Info

Publication number
CN105224433B
CN105224433B CN201410284112.4A CN201410284112A CN105224433B CN 105224433 B CN105224433 B CN 105224433B CN 201410284112 A CN201410284112 A CN 201410284112A CN 105224433 B CN105224433 B CN 105224433B
Authority
CN
China
Prior art keywords
internal memory
data
client
daily record
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410284112.4A
Other languages
English (en)
Other versions
CN105224433A (zh
Inventor
陈祖欢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced New Technologies Co Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201410284112.4A priority Critical patent/CN105224433B/zh
Publication of CN105224433A publication Critical patent/CN105224433A/zh
Application granted granted Critical
Publication of CN105224433B publication Critical patent/CN105224433B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本申请涉及一种内存监控方法,由客户端向服务器发送内存监控部署请求,之后,客户端接收所述服务器发送的部署代理数据,并根据所述代理数据中包含的所述服务器为所述客户端生成的部署脚本,下载内存监控代理程序;通过运行所述内存监控程序,对所述内存进行定时采样,以获取所述内存的状态数据;之后,通过命令输出格式将采样到的所述内存的状态数据输出,以生成日志数据;并且将所述日志数据同步至所述服务器,从而使得服务器可以根据所述日志数据生成内存状态趋势报告,并将日志文件与快照文件对比,对系统内存运行作出预警。

Description

一种内存监控方法及服务器
技术领域
本申请涉及互联网领域,具体涉及到一种内存监控方法及服务器。
背景技术
计算机系统以及一些网络设备的内存不管容量有多大,均是有限的,因此有效的应用这些内存是一个十分重要的问题。互联网中的系统开发者,例如java应用系统开发者在一个新开发的应用系统正式上线之前,都需要先对该系统的内存使用情况进行监控分析,以发现可能存在的问题,防止内存泄露造成的宕机情况。有时候在系统中会出现内存泄露问题,内存泄漏并非指内存在物理上的消失,而是应用程序(即申请和使用内存的实体)在分配某段内存后,由于程序设计上的错误,例如,未设计释放或者是主观认为不必处理等原因,失去了对该段内存的控制,因而造成了内存的浪费。
其中,对内存的监控数据通常包括内存区域、内存对象、堆栈和线程信息、java进程句柄情况、系统被调用方法及相应时间以及系统内部方法执行链路以及响应时间等数据,通过对内存进行采样,记录快照并提供快照比较分析,以对系统存在的问题进行定位和预警。
现有技术中,存在的几种内存监控组件,例如,java监控和管理控制台(JavaMonitoring and Management Console,Jconsole,)、性能测试监控工具Nmon以及Java剖析工具(Java profiler,Jprofile)等工具均可以对内存的使用状态信息进行采集,但是该些组件都不能够提供详细数据,对内存运行数据进行分析。
发明内容
本申请的目的是提供一种内存监控方法,以实现通过客户端监控内存运行状态数据,并生成日志文件,由服务器根据日志文件绘制内存运行趋势报告,对内存状态进行分析。
为实现上述目的,本申请提供了一种内存监控方法,该方法包括:
向服务器发送内存监控部署请求,所述内存监控部署请求用以请求所述服务器为所述客户端部署监控所述客户端运行的应用系统的内存状态;
接收所述服务器发送的部署代理数据,所述代理数据中包含所述服务器为所述客户端生成的部署脚本;
根据所述部署脚本,下载内存监控代理程序;
运行所述内存监控程序,对所述内存进行定时采样,以获取所述内存的状态数据;
通过命令输出格式将采样到的所述内存的状态数据输出,以生成日志数据;
将所述日志数据同步至所述服务器,以便于所述服务器根据所述日志数据生成内存状态趋势报告。
本申请还提供了一种内存监控方法,所述方法包括:
接收客户端发送的内存监控部署请求,所述内存监控部署请求用以请求服务器为所述客户端部署监控所述客户端运行的应用系统的内存状态;
向所述客户端发送部署代理数据,所述代理数据中包含所述服务器为所述客户端生成的部署脚本,触发所述客户端根据所述部署脚本,下载内存监控代理程序,并根据所述内存监控程序,对所述内存进行定时采样,获取所述内存的状态数据;
接收所述客户端发送的日志数据,所述日志数据由所述客户端通过命令输出格式将所述客户端采样到的所述内存的状态数据输出后生成;
根据所述日志数据,提取所述日志数据中的所述内存的状态数据;
根据所述状态数据,绘制内存状态趋势报告图。
本申请还提供了一种内存监控客户端,所述客户端包括:
部署请求单元,用于向服务器发送内存监控部署请求,所述内存监控部署请求用以请求所述服务器为所述客户端部署监控所述客户端运行的应用系统的内存状态;
接收单元,用于接收所述服务器发送的部署代理数据,所述代理数据中包含所述服务器为所述客户端生成的部署脚本;
下载单元,用于根据所述部署脚本,下载内存监控代理程序;
运行单元,用于运行所述内存监控程序,对所述内存进行定时采样,以获取所述内存的状态数据;
生成单元,用于通过命令输出格式将采样到的所述内存的状态数据输出,以生成日志数据;
同步单元,用于将所述日志数据同步至所述服务器,以便于所述服务器根据所述日志数据生成内存状态趋势报告。
本申请实施例最后提供了一种内存监控服务器,所述服务器包括:
部署请求接收单元,用于接收客户端发送的内存监控部署请求,所述内存监控部署请求用以请求服务器为所述客户端部署监控所述客户端运行的应用系统的内存状态;
发送单元,用于向所述客户端发送部署代理数据,所述代理数据中包含所述服务器为所述客户端生成的部署脚本,触发所述客户端根据所述部署脚本,下载内存监控代理程序,并根据所述内存监控程序,对所述内存进行定时采样,获取所述内存的状态数据;
日志数据接收单元,用于接收所述客户端发送的日志数据,所述日志数据由所述客户端通过命令输出格式将所述客户端采样到的所述内存的状态数据输出后生成;
提取单元,用于根据所述日志数据,提取所述日志数据中的所述内存的状态数据;
报告生成单元,用于根据所述状态数据,绘制内存状态趋势报告图。
本申请实施例提供了一种内存监控方法,由客户端向服务器发送内存监控部署请求,之后,客户端接收所述服务器发送的部署代理数据,并根据所述代理数据中包含的所述服务器为所述客户端生成的部署脚本,下载内存监控代理程序;通过运行所述内存监控程序,对所述内存进行定时采样,以获取所述内存的状态数据;之后,通过命令输出格式将采样到的所述内存的状态数据输出,以生成日志数据;并且将所述日志数据同步至所述服务器,从而使得服务器可以根据所述日志数据生成内存状态趋势报告,并将日志文件与快照文件对比,对系统内存运行作出预警。
附图说明
图1是本申请实施例提供的内存监控方法的一种应用系统架构图;
图2为本申请实施例提供的内存监控方法的一种实施例的流程图;
图3为本申请实施例提供的内存监控方法的一种实施例的交互图;
图4为本申请实施例提供的内存监控方法的一种实施例的流程图;
图5是本申请实施例提供的一种内存监控客户端的一种实施例的结构图;
图6是本申请实施例提供的一种内存监控服务器的一种实施例的结构图;
图7是本申请实施例生成的一种趋势报告图;
图8是本申请实施例生成的另一种趋势报告图;
图9是本申请实施例的一种使用状态设置报告图;
图10是本申请实施例的一种使用状态数据分析图;
图11是本申请实施例的一种使用状态数据分析图;
图12是本申请实施例的一种使用状态数据分析图。
具体实施方式
下面通过附图和实施例,对本申请的技术方案做进一步的详细描述。
图1为本申请实施例提供的内存监控方法的应用架构图,其中包括客户端10和服务器20,所述客户端10上可以运行诸如JAVA系统、系统分析工具、浏览器等工具,所述服务器可以执行分析功能,服务器20与客户端10通过网络或者其他通讯链路连接,实现数据传输。JAVA系统开发人员开发好JAVA应用程序之后,需要对运行该Java系统的系统内存状态进行监控,以避免JAVA系统原因造成的内存泄露等问题。
图2是本申请实施例提供的内存监控方法的流程图,该实施例中执行主体为客户端,该客户端中运行JAVA系统,特别是Java虚拟机(Java Virtual Machine,JVM)。可以进一步结合图3所示的交互状态,对本申请实施例做更进一步阐述。由图2可见,该实施例中的方法可以包括:
步骤201,向服务器发送内存监控部署请求,所述内存监控部署请求用以请求所述服务器为所述客户端部署监控所述客户端运行的应用系统的内存状态;
在该步骤中,用户可以通过客户端上的浏览器,向服务器的WEB层发送内存监控部署请求,请求服务器为客户端部署监控所述客户端运行的应用系统的内存状态;例如,JAVA系统,特别是Java虚拟机。
服务器端在接收到客户端发送的内存监控部署请求,之后,由服务器的前端页面生成部署代理数据,部署代理数据中包含所述服务器为所述客户端生成的部署脚本,之后,通过WEB层将生成的部署代理数据发送给客户端,触发所述客户端根据所述部署脚本下载内存监控代理程序。
步骤202,接收所述服务器发送的部署代理数据,所述代理数据中包含所述服务器为所述客户端生成的部署脚本;
在该步骤中,客户端接收服务器WEB层发送的部署代理数据,并从中获取所述服务器为所述客户端生成的部署脚本。
例如,服务器的前端页面负责为用户生成部署脚本,大致如下:
cd $HOME && rm -f securityts-core-engine-ctu.zip && wget -q"http://securityts.test.alipay.net/performanceMonitor/securityts-core-engine-ctu.txt"-O /home/admin/securityts-core-engine-ctu.txt && mv/home/admin/securityts-core-engine-ctu.txt/home/admin/securityts-core-engine-ctu.zip && unzipsecurityts-core-engine-ctu.zip -d /home/admin/securityts/ &&nohup java -jarsecurityts-core-engine-ctu.jar>/dev/null &
其中,部署脚本包含的逻辑包括客户端根据上述的脚本可以执行的动作,例如客户端浏览器从服务器中下载内存监控代理程序,更改文件名、解压压缩包以及运行内存监控代理程序等。
步骤203,根据所述部署脚本,下载内存监控代理程序;
在该步骤中,客户端从部署代理数据中获取到部署脚本之后,根据部署脚本中的命令,首先通过安装在客户端的浏览器下载内存监控代理程序文件,由于该内存监控代理程序文件为文本格式,也就是后缀名为.txt的文件,并不是可以解压的文件,因此,客户端需要对其进行更改文件名的操作,将内存监控代理程序文件的后缀名从.txt更改为.zip或者其他压缩文件格式名,不多赘述。
通过上述的改名操作,获得一个包含内存监控代理程序的压缩文件,之后,客户端对其解压缩,获取可以执行的jar包,该jar包,即为可以运行的内存监控程序。
步骤204,运行所述内存监控程序,对所述内存进行定时采样,以获取所述内存的状态数据;
在该步骤中,所述内存监控程序(Agent)通常可以包括定时采样线程和定时同步线程。其中,定时采样线程可以以快照的形式对内存进行定时采样,采样内存运行状态数据,例如,内存区域、内存对象、堆栈、句柄、GC,调用等信息,并根据获取到的信息生成日志文件。
例如,使用系统中的命令,对内存状态进行监控:
内存区域:jmap-heap pid命令;
内存对象:jmap-histo pid命令;
详细堆栈:jstack pid命令;
Java进程句柄情况:lsof-p pid命令;
Gc信息:系统日志gc.log;
gc.log记录了jvm垃圾回收的信息。堆及新生代内存回收前后的内存大小
系统被调用方法,响应时间:系统日志sofa-service-digest.log;
系统内部方法执行链路及响应时间:系统详细日志,可由sofa改造,系统日志打印sofa路由号,以串联调用链路。
其中,系统被调用方法表示外部调用系统的方法,以及这些方法调用系统时的相应响应时间;系统内部方法执行链路通常是指系统内部互相调用的方法链路,以及不同链路的响应时间。
步骤205,通过命令输出格式将采样到的所述内存的状态数据输出,以生成日志数据;
在该步骤中,内存监控程序agent中通过命令将输出采集到的内存状态数据生成日志文件log。
优选的,通过命令输出格式将采样到的所述内存的状态数据输出,以生成日志数据;为所述日志数据添加时间戳,时间戳在生成报告时,作为趋势线的参考,和发现问题时,快照对比的时间依据。
步骤206,将所述日志数据同步至所述服务器,以便于所述服务器根据所述日志数据生成内存状态趋势报告。
在该步骤中,内存监控程序agent中的日志同步线程将生成的日志逐句同步到服务器,由服务器根据所述日志数据,提取所述日志数据中的所述内存的状态数据;之后,根据所述状态数据,绘制内存状态趋势报告图。
图4是本申请实施例提供的内存监控方法的流程图,该实施例中执行主体为服务器。可以进一步结合图3所示的交互状态,对本申请实施例做更进一步阐述。由图4可见,该实施例中的方法可以包括:
步骤401,接收客户端发送的内存监控部署请求,所述内存监控部署请求用以请求服务器为所述客户端部署监控所述客户端运行的应用系统的内存状态;
步骤402,向所述客户端发送部署代理数据,所述代理数据中包含所述服务器为所述客户端生成的部署脚本,触发所述客户端根据所述部署脚本,下载内存监控代理程序,并根据所述内存监控程序,对所述内存进行定时采样,获取所述内存的状态数据;
步骤403,接收所述客户端发送的日志数据,所述日志数据由所述客户端通过命令输出格式将所述客户端采样到的所述内存的状态数据输出后生成;
在该实施例中,关于步骤401至步骤403的详细描述,可以参考前述实施例中的描述,不再重复。
服务器在接收到所述客户端发送的日志数据,之后,可以根据客户端上传的不同的主机域名hostname将日志数据存在不同的系统目录下。
步骤404,根据所述日志数据,提取所述日志数据中的所述内存的状态数据;
在该步骤中,如果日志数据具有时间戳,则服务器可以根据所述日志数据的时间戳,提取所所述日志中的不同采样时间对应的所述内存的状态数据。
步骤405,根据所述状态数据,绘制内存状态趋势报告图。
在该步骤中,服务器根据从日志文件中存储的内存状态数据,使用绘制工具,绘制内存状态趋势报告图,在日志数据中包含时间戳时,根据所述内存的状态数据和所述时间戳,绘制不同采样时间的内存状态趋势报告图,可参考图7和图8分别为不同采样时间的内存状态趋势报告图。
步骤405之后,服务器可以根据内存状态趋势报告图,对内存状态进行分析;
例如,服务器可以根据图7和图8中的内存状态趋势报告图发现,1个时间段内存增加速度明显快于其他时间段的尖刺状态(08-0122:00:01->080122:02:02)。因此可针对这2分钟对内存状态进行分析;
进一步地,服务器根据所述日志数据的时间戳,对所述内存中java对象大小和个数进行快照比较,以获取所述java对象增加和/或减少的数据;如图9所示,以上面时间段为例,可去服务器进行此时段内存对象的比较。
系统会根据内存中java对象快照时间戳,比较两份快照。生成报告结果根据对象增加总数的排序,列出时间段内增加(减少)的内存对象,如图10所示。
根据所述java对象增加和/或减少的数据,比较所述时间戳区间内的外部调用方法及可生成对象的方法,以确定可疑的外部调用业务。
以图11为例,对对象大小增加的对象类型依次进行排查,以增加最多的com.alipay.***.IPInfo为例。
首先在系统代码中搜索会初始化生成IPInfo类实例对象的方法。发现除了测试代码外仅两处代码初始化了IPInfo对象,可参考图12。
获得可能存在风险的方法及类以后,可通过sofa-service-digest.log日志查询时间段内,被外围系统调用的服务。再通过系统内部调用链路判断被调用的服务是否可能调用存在风险的可疑方法,以此分析得到可疑的调用。
本申请实施例提供了一种内存监控方法,由客户端向服务器发送内存监控部署请求,之后,客户端接收所述服务器发送的部署代理数据,并根据所述代理数据中包含的所述服务器为所述客户端生成的部署脚本,下载内存监控代理程序;通过运行所述内存监控程序,对所述内存进行定时采样,以获取所述内存的状态数据;之后,通过命令输出格式将采样到的所述内存的状态数据输出,以生成日志数据;并且将所述日志数据同步至所述服务器,从而使得服务器可以根据所述日志数据生成内存状态趋势报告,并将日志文件与快照文件对比,对系统内存运行作出预警。
相应的,本申请实施例还提供了一种内存监控客户端,图5是本申请实施例提供的内存监控客户端的结构图,该客户端包括但不限定于可以运行浏览器的计算机等,如图5所示,该实施例可以包括:
部署请求单元501,用于向服务器发送内存监控部署请求,所述内存监控部署请求用以请求所述服务器为所述客户端部署监控所述客户端运行的应用系统的内存状态;
接收单元502,用于接收所述服务器发送的部署代理数据,所述代理数据中包含所述服务器为所述客户端生成的部署脚本;
下载单元503,用于根据所述部署脚本,下载内存监控代理程序;
运行单元504,用于运行所述内存监控程序,对所述内存进行定时采样,以获取所述内存的状态数据;
生成单元505,用于通过命令输出格式将采样到的所述内存的状态数据输出,以生成日志数据;
同步单元506,用于将所述日志数据同步至所述服务器,以便于所述服务器根据所述日志数据生成内存状态趋势报告。
在一种实施例中,所述客户端还包括时间戳生成单元,用于为所述日志数据添加时间戳。
在一种实施例中,服务器还包括:
更改单元,用于更改所述监控代理程序的文件名,以获取包含可执行的内存监控代理程序的压缩包;
解压单元,用于解压所述压缩包,以获取可执行的内存监控代理程序。
在上述的实施例中,所述内存的状态数据可以包括内存区域、内存对象、详细堆栈数据、进程句柄数据、垃圾收集信息、系统被调用方法、系统被调用响应时间、系统内部方法执行链路以及系统内部方法执行响应时间。
相应的,本申请实施例还提供了一种内存监控服务器,图6是该实施例的结构图,如图6所示,本申请实施例可以包括:
部署请求接收单元601,用于接收客户端发送的内存监控部署请求,所述内存监控部署请求用以请求服务器为所述客户端部署监控所述客户端运行的应用系统的内存状态;
发送单元602,用于向所述客户端发送部署代理数据,所述代理数据中包含所述服务器为所述客户端生成的部署脚本,触发所述客户端根据所述部署脚本,下载内存监控代理程序,并根据所述内存监控程序,对所述内存进行定时采样,获取所述内存的状态数据;
日志数据接收单元603,用于接收所述客户端发送的日志数据,所述日志数据由所述客户端通过命令输出格式将所述客户端采样到的所述内存的状态数据输出后生成;
提取单元604,用于根据所述日志数据,提取所述日志数据中的所述内存的状态数据;
报告生成单元605,用于根据所述状态数据,绘制内存状态趋势报告图。
在一种实施例中,所述日志数据具有时间戳,所述提取单元604具体用于:
根据所述日志数据的时间戳,提取所所述日志中的不同采样时间对应的所述内存的状态数据。
在一种实施例中,所述报告生成单元605具体用于根据所述内存的状态数据和所述时间戳,绘制内存状态趋势报告图。
在另一种实施例中,所述服务器还包括获取单元,用于在报告生成单元505根据所述状态数据,绘制内存状态趋势报告图,之后,还包括:根据所述日志数据的时间戳,对所述内存中java对象大小和个数进行比较,以获取所述java对象增加和/或减少的数据;根据所述java对象增加和/或减少的数据,比较所述时间戳区间内的外部调用方法,以确定可疑的外部调用业务。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (8)

1.一种内存监控方法,其特征在于,包括:
向服务器发送内存监控部署请求,所述内存监控部署请求用以请求所述服务器为客户端部署监控所述客户端运行的应用系统的内存状态;
接收所述服务器发送的部署代理数据,所述部署代理数据中包含所述服务器为所述客户端生成的部署脚本;
根据所述部署脚本,下载内存监控代理程序;
运行与所述内存监控代理程序对应的内存监控程序,对所述内存进行定时采样,以获取所述内存的状态数据;
通过命令输出格式将采样到的所述内存的状态数据输出,以生成日志数据,并为所述日志数据添加时间戳;
将所述日志数据同步至所述服务器,以便于所述服务器根据所述日志数据生成内存状态趋势报告,以及根据所述日志数据的时间戳对所述状态数据进行快照比较。
2.如权利要求1所述的方法,其特征在于,所述根据所述部署脚本,下载内存监控代理程序;之后,还包括:
更改所述内存监控代理程序的文件名,以获取包含内存监控代理程序的压缩包;
解压所述压缩包,以获取可执行的内存监控程序。
3.如权利要求1或2所述的方法,其特征在于,所述内存的状态数据包括内存区域、内存对象、详细堆栈数据、进程句柄数据、垃圾收集信息、系统被调用方法、系统被调用响应时间、系统内部方法执行链路以及系统内部方法执行响应时间。
4.一种内存监控方法,其特征在于,包括:
接收客户端发送的内存监控部署请求,所述内存监控部署请求用以请求服务器为所述客户端部署监控所述客户端运行的应用系统的内存状态;
向所述客户端发送部署代理数据,所述部署代理数据中包含所述服务器为所述客户端生成的部署脚本,触发所述客户端根据所述部署脚本,下载内存监控代理程序,并根据与所述内存监控代理程序对应的内存监控程序,对所述内存进行定时采样,获取所述内存的状态数据;
接收所述客户端发送的日志数据,所述日志数据由所述客户端通过命令输出格式将所述客户端采样到的所述内存的状态数据输出后生成,所述日志数据具有时间戳;
根据所述日志数据,提取所述日志数据中的不同采样时间对应的所述内存的状态数据;
根据所述状态数据,绘制内存状态趋势报告图;
根据所述日志数据的时间戳,对所述状态数据进行快照比较。
5.如权利要求4所述的方法,其特征在于,所述根据所述状态数据,绘制内存状态趋势报告图,具体包括:
根据所述内存的状态数据和所述时间戳,绘制内存状态趋势报告图。
6.如权利要求5所述的方法,其特征在于,所述根据所述日志数据的时间戳,对所述状态数据进行快照比较,包括:
根据所述日志数据的时间戳,对所述内存中java对象大小和个数进行比较,以获取所述java对象增加和/或减少的数据;
根据所述java对象增加和/或减少的数据,比较所述时间戳区间内的外部调用方法,以确定可疑的外部调用业务。
7.一种内存监控客户端,其特征在于,包括:
部署请求单元,用于向服务器发送内存监控部署请求,所述内存监控部署请求用以请求所述服务器为所述客户端部署监控所述客户端运行的应用系统的内存状态;
接收单元,用于接收所述服务器发送的部署代理数据,所述部署代理数据中包含所述服务器为所述客户端生成的部署脚本;
下载单元,用于根据所述部署脚本,下载内存监控代理程序;
运行单元,用于运行与所述内存监控代理程序对应的内存监控程序,对所述内存进行定时采样,以获取所述内存的状态数据;
生成单元,用于通过命令输出格式将采样到的所述内存的状态数据输出,以生成日志数据,并为所述日志数据添加时间戳;
同步单元,用于将所述日志数据同步至所述服务器,以便于所述服务器根据所述日志数据生成内存状态趋势报告,以及根据所述日志数据的时间戳对所述状态数据进行快照比较。
8.一种内存监控服务器,其特征在于,包括:
部署请求接收单元,用于接收客户端发送的内存监控部署请求,所述内存监控部署请求用以请求服务器为所述客户端部署监控所述客户端运行的应用系统的内存状态;
发送单元,用于向所述客户端发送部署代理数据,所述部署代理数据中包含所述服务器为所述客户端生成的部署脚本,触发所述客户端根据所述部署脚本,下载内存监控代理程序,并根据与所述内存监控代理程序对应的内存监控程序,对所述内存进行定时采样,获取所述内存的状态数据;
日志数据接收单元,用于接收所述客户端发送的日志数据,所述日志数据由所述客户端通过命令输出格式将所述客户端采样到的所述内存的状态数据输出后生成,所述日志数据具有时间戳;
提取单元,用于根据所述日志数据,提取所述日志数据中的不同采样时间对应的所述内存的状态数据;
报告生成单元,用于根据所述状态数据,绘制内存状态趋势报告图;
根据所述日志数据的时间戳,对所述状态数据进行快照比较。
CN201410284112.4A 2014-06-23 2014-06-23 一种内存监控方法及服务器 Active CN105224433B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410284112.4A CN105224433B (zh) 2014-06-23 2014-06-23 一种内存监控方法及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410284112.4A CN105224433B (zh) 2014-06-23 2014-06-23 一种内存监控方法及服务器

Publications (2)

Publication Number Publication Date
CN105224433A CN105224433A (zh) 2016-01-06
CN105224433B true CN105224433B (zh) 2018-04-10

Family

ID=54993420

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410284112.4A Active CN105224433B (zh) 2014-06-23 2014-06-23 一种内存监控方法及服务器

Country Status (1)

Country Link
CN (1) CN105224433B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105912398A (zh) * 2016-04-06 2016-08-31 北京小米移动软件有限公司 内存检测方法及装置
CN106445789A (zh) * 2016-10-11 2017-02-22 北京集奥聚合科技有限公司 一种监控可视化方法及系统
CN106484580B (zh) * 2016-10-21 2019-10-18 腾讯科技(深圳)有限公司 一种内存检测方法、装置及系统
CN108959019A (zh) * 2017-05-27 2018-12-07 联芯科技有限公司 一种运行状态的监控方法、装置与终端
CN107797901A (zh) * 2017-10-25 2018-03-13 四川长虹电器股份有限公司 一种堆栈分析以及邮件实时报警的实现方法
CN108196938B (zh) * 2017-12-27 2021-10-29 努比亚技术有限公司 内存调用方法、移动终端及计算机可读存储介质
CN109245962B (zh) * 2018-10-12 2021-02-05 北京信研汇智信息技术有限公司 服务器监控方法、系统、计算机设备及存储介质
CN109491897A (zh) * 2018-10-26 2019-03-19 成都安恒信息技术有限公司 一种基于趋势分析的系统资源泄漏测试方法
CN109828885B (zh) * 2018-12-15 2023-02-07 中国平安人寿保险股份有限公司 RocketMQ内存监控方法、装置、电子设备及存储介质
CN109873717A (zh) * 2019-01-18 2019-06-11 深圳壹账通智能科技有限公司 监控方法、装置、计算机设备及存储介质
CN111858112B (zh) * 2019-04-26 2023-04-25 腾讯科技(深圳)有限公司 一种检测内存泄露的方法、客户端及服务器
CN110278465B (zh) * 2019-06-21 2021-06-18 湖南快乐阳光互动娱乐传媒有限公司 一种视频cdn分布式http全链路数据收集与分析方法及系统
CN110333993B (zh) * 2019-06-24 2021-01-29 北京三快在线科技有限公司 内存快照的生成方法、装置、电子设备和存储介质
CN110597632A (zh) * 2019-09-09 2019-12-20 北京西山居互动娱乐科技有限公司 一种数据处理方法及装置、一种计算设备及存储介质
CN113434364B (zh) * 2021-06-25 2024-03-22 青岛海尔科技有限公司 屏端设备内存检测方法、装置、存储介质及电子装置
CN113608750B (zh) * 2021-08-04 2023-01-24 北京元年科技股份有限公司 监控组件的部署方法、装置、计算机设备以及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1558691A (zh) * 2004-01-14 2004-12-29 中兴通讯股份有限公司 对移动通信设备中内存数据库定时监控的方法
CN1752941A (zh) * 2004-09-20 2006-03-29 华为技术有限公司 一种内存监控的装置及方法
CN101354675A (zh) * 2008-08-19 2009-01-28 华南理工大学 一种嵌入式软件动态内存检测的方法
CN102075358A (zh) * 2010-12-31 2011-05-25 网宿科技股份有限公司 针对大规模服务器集群的内容分发和部署的系统和方法
CN103248651A (zh) * 2012-02-09 2013-08-14 腾讯科技(深圳)有限公司 一种性能监控的方法和系统以及客户端和服务器

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102081679B (zh) * 2011-01-24 2012-10-03 深圳市共济科技有限公司 一种计算机性能数据的采集方法及采集装置
WO2014018889A1 (en) * 2012-07-26 2014-01-30 Marian Gogoana Heating system state monitoring device and system
CN103455397A (zh) * 2013-09-06 2013-12-18 杭州华为数字技术有限公司 一种系统自检的方法、设备及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1558691A (zh) * 2004-01-14 2004-12-29 中兴通讯股份有限公司 对移动通信设备中内存数据库定时监控的方法
CN1752941A (zh) * 2004-09-20 2006-03-29 华为技术有限公司 一种内存监控的装置及方法
CN101354675A (zh) * 2008-08-19 2009-01-28 华南理工大学 一种嵌入式软件动态内存检测的方法
CN102075358A (zh) * 2010-12-31 2011-05-25 网宿科技股份有限公司 针对大规模服务器集群的内容分发和部署的系统和方法
CN103248651A (zh) * 2012-02-09 2013-08-14 腾讯科技(深圳)有限公司 一种性能监控的方法和系统以及客户端和服务器

Also Published As

Publication number Publication date
CN105224433A (zh) 2016-01-06

Similar Documents

Publication Publication Date Title
CN105224433B (zh) 一种内存监控方法及服务器
US8533687B1 (en) Methods and system for global real-time transaction tracing
CN110147475B (zh) 一种分布式部署的网络数据采集系统
CN105094888B (zh) 一种应用程序插件加载方法及装置
CN102135892B (zh) 应用程序运行方法、装置及系统
US7970946B1 (en) Recording and serializing events
Moser et al. Hunting in the enterprise: Forensic triage and incident response
US8949462B1 (en) Removing personal identifiable information from client event information
CN111176941B (zh) 一种数据处理的方法、装置和存储介质
Shariati et al. Ubuntu One investigation: Detecting evidences on client machines
CN109062774A (zh) 日志处理方法、装置及存储介质、服务器
CN105721578B (zh) 一种用户行为数据采集方法和系统
Srivastava et al. Analysis of data extraction and data cleaning in web usage mining
CN106777046A (zh) 一种基于nginx日志的数据分析方法
EP2577458B1 (en) Distillation and reconstruction of provisioning components
CN112257032B (zh) 一种确定app责任主体的方法及系统
CN110737647A (zh) 一种互联网大数据清洗方法
US10305738B2 (en) System and method for contextual clustering of granular changes in configuration items
US10775751B2 (en) Automatic generation of regular expression based on log line data
CN112860645A (zh) 一种离线压缩文件的处理方法、装置、计算机设备及介质
CN111459577B (zh) 应用安装来源跟踪方法、装置、设备及存储介质
CN113742551A (zh) 一种基于scrapy和puppeteer的动态数据抓取方法
CN112379965B (zh) 沙盒文件映射系统、客户端装置、映射端装置、沙盒文件映射方法以及电子设备
CN103491451B (zh) 一种网页数据获取方法及装置
Ahmed et al. Analyzing data remnant remains on user devices to determine probative artifacts in cloud environment

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20191223

Address after: P.O. Box 31119, grand exhibition hall, hibiscus street, 802 West Bay Road, Grand Cayman, Cayman Islands

Patentee after: Innovative advanced technology Co., Ltd

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Patentee before: Alibaba Group Holding Co., Ltd.

TR01 Transfer of patent right