内存监控方法、装置、设备及计算机可读存储介质制造方法及图纸

技术编号:27030190 阅读:14 留言:0更新日期:2021-01-12 11:13
本申请提供了一种内存监控方法、装置、设备及计算机可读存储介质,应用于云技术领域,所述方法包括:响应于目标应用的启动事件,上传与目标应用相关的初始化信息至服务器;接收服务器发送的配置指令;配置指令是基于初始化信息生成的;根据配置指令对目标应用的监控组件进行配置;通过配置后的监控组件监控目标应用,得到内存分配数据;将内存分配数据上传至服务器,以使服务器根据内存分配数据对目标应用的内存使用情况进行评测。通过本申请提供的内存监控方法,能够实现对目标应用的动态监测,同时,避免监控组件对目标应用进行监控时造成的性能影响,提升了目标应用对应的服务功能的响应效率。

【技术实现步骤摘要】
内存监控方法、装置、设备及计算机可读存储介质
本申请涉及计算机
,尤其涉及一种内存监控方法、装置、设备及计算机可读存储介质。
技术介绍
在对应用程序进行开发及发布的过程中,需要对应用程序进行测评。例如,利用极端使用场景对该应用程序进行性能专项测试,在专项测试通过后才能完成开发,并发布到相关程序平台。在测试应用程序的过程中,应用程序通常会由于内存爆炸导致应用程序对应的进程崩溃,开发人员需要确定发生问题的位置。因此需要对该应用程序对内存的使用情况进行监控,以完成问题定位。相关技术中对应用程序进行内存监控的方案,会占用终端较多的计算资源,并且无法适配不同场景下的应用程序,测评准确度较低。
技术实现思路
本申请实施例提供一种内存监控方法、装置、设备及计算机可读存储介质,能够实现对目标应用的动态监测,同时,避免监控组件对目标应用进行监控时造成的性能影响,提升了目标应用对应的服务功能的响应效率。本申请实施例的技术方案是这样实现的:响应于目标应用的启动事件,上传与目标应用相关的初始化信息至服务器;接收服务器发送的配置指令;配置指令是基于初始化信息生成的;根据配置指令对目标应用的监控组件进行配置;通过配置后的监控组件监控目标应用,得到内存分配数据;将内存分配数据上传至服务器,以使服务器根据内存分配数据对目标应用的内存使用情况进行评测。在本申请的一些实施例中,所述根据配置指令对目标应用的监控组件进行配置,包括:根据配置指令和存储于本地磁盘中的至少一个历史云指令,生成至少一个云指令;根据至少一个云指令对监控组件进行配置。在本申请的一些实施例中,所述根据配置指令和存储于本地磁盘中的至少一个历史云指令,生成至少一个云指令,包括:解析配置指令,得到至少一条待更新云指令;遍历存储于本地磁盘中的至少一个历史云指令,并加载至内存,得到历史云指令列表;根据至少一条待更新云指令对历史云指令列表进行更新,得到云指令列表;云指令列表包括至少一个云指令。在本申请的一些实施例中,所述根据至少一条待更新云指令对历史云指令列表进行更新,得到云指令列表,包括:在待更新云指令为更新类型的情况下,在历史云指令列表中查找待更新云指令对应的目标云指令,根据待更新云指令对目标云指令进行更新;在待更新云指令为移除类型的情况下,在历史云指令列表中查找待更新云指令对应的目标云指令,将目标云指令从历史云指令列表中移除。在本申请的一些实施例中,所述方法还包括:将至少一个云指令存储于本地磁盘中,并覆盖至少一个历史云指令。在本申请的一些实施例中,所述方法还包括:在根据至少一条待更新云指令对历史云指令列表进行更新的过程中,保存更新记录;响应于得到云指令列表,将更新记录上传至服务器。在本申请的一些实施例中,所述根据至少一个云指令对监控组件进行配置,包括:解析至少一个云指令,得到监控配置参数;监控配置参数包括以下至少之一:适配版本参数、监控时间、监控开启参数和周期开启参数;利用监控配置参数对监控组件进行配置。在本申请的一些实施例中,所述通过配置后的监控组件监控目标应用,得到内存分配数据,包括:在对目标应用分配内存的过程中,获取每一内存分配对象对应的分配信息;分配信息包括内存分配对象的大小信息和堆栈信息;根据每一内存分配对象的大小信息和堆栈信息,生成内存分配数据。在本申请的一些实施例中,所述根据每一内存分配对象的大小信息和堆栈信息,生成内存分配数据,包括:在内存分配对象的大小信息超过预设的触顶阈值的情况下,将内存分配对象的大小信息和堆栈信息记录至内存中的哈希表;将哈希表转存至本地磁盘中,以得到内存分配数据。在本申请的一些实施例中,所述将哈希表转存至本地磁盘中,以得到内存分配数据,包括:响应于触发指令,将哈希表转存至本地磁盘中,以得到内存分配数据;触发指令包括以下至少之一:通过定时触发装置所产生的定时触发指令;内存负载高于预设阈值时产生的负载触发指令;目标应用中进程崩溃时产生的崩溃触发指令;目标应用停止运行时产生的停止触发指令。在本申请的一些实施例中,所述将内存分配数据上传至服务器,包括:根据内存分配数据生成至少一条日志记录,并将至少一条日志记录写入数据库中;响应于上传指令,通过数据库上传将至少一条日志记录至服务器;上传指令包括以下至少之一:目标应用启动时产生的上传指令;网络变化时产生的上传指令;目标应用进入后台时产生的上传指令。在本申请的一些实施例中,所述根据内存分配数据生成至少一条日志记录,包括:响应于目标应用的下一次启动事件,将内存分配数据加载至内存中;将内存中的内存分配数据转换为日志数据模型;日志数据模型包括至少一条日志记录。在本申请的一些实施例中,所述通过数据库上传将至少一条日志记录至服务器,包括:依次提取数据库中的待上传日志记录并上传至服务器,在待上传日志记录上传成功的情况下,将待上传日志从数据库中移除,直至数据库为空。本申请实施例提供一种内存监控装置,所述装置包括:第一上传模块,用于响应于目标应用的启动事件,上传与目标应用相关的初始化信息至服务器;接收模块,用于接收服务器发送的配置指令;配置指令是基于初始化信息生成的;配置模块,用于根据配置指令对目标应用的监控组件进行配置;监控模块,用于通过配置后的监控组件监控目标应用,得到内存分配数据;第二上传模块,用于将内存分配数据上传至服务器,以使服务器根据内存分配数据对目标应用的内存使用情况进行评测。本申请实施例提供一种内存监控设备,包括:存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的内存监控方法。本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的内存监控方法。本申请实施例具有以下有益效果:本申请实施例通过由服务器根据与目标应用相关的初始化信息生成的配置指令对监控组件进行配置,使得经过该配置指令配置的监控程序更加适合当前终端中的目标应用,提升了内存监控的准确性。并且,由于本申请监控组件只获取内存分配数据,并不对该内存分配数据进行分析,通过将内存分配数据的分析,及对该目标应用的内存使用情况进行评测的过程放在服务器中执行,降低了控制组件在监控应用程序中所需的计算资源,可以避免监控组件对目标应用进行监控时造成的性能影响,提升了目标应用对应的服务功能的响应效率。附图说明图1是本申请实施例提供的内存监控系统的一个可选的架构示意图;图2是本申请实施例提供的内存监控设备的结构示意图;图3是本申请实施例提供的内存监控方法的一个可选的流程示意图;图4是本申请实施例提供的内存监控方法的一个可选的流程示意图;图5是本申请实施例提供的内存监控方法的一个可选的流程示意图;图6是本申请实施例提供的内存监控方法的一个可选的流程示意图;图7是本申请实施例提供的内存监控方法的一个可选的流程示意图;图本文档来自技高网...

【技术保护点】
1.一种内存监控方法,其特征在于,包括:/n响应于目标应用的启动事件,上传与所述目标应用相关的初始化信息至服务器;/n接收所述服务器发送的配置指令;所述配置指令是基于所述初始化信息生成的;/n根据所述配置指令对所述目标应用的监控组件进行配置;/n通过配置后的监控组件监控所述目标应用,得到内存分配数据;/n将所述内存分配数据上传至所述服务器,以使所述服务器根据所述内存分配数据对所述目标应用的内存使用情况进行评测。/n

【技术特征摘要】
1.一种内存监控方法,其特征在于,包括:
响应于目标应用的启动事件,上传与所述目标应用相关的初始化信息至服务器;
接收所述服务器发送的配置指令;所述配置指令是基于所述初始化信息生成的;
根据所述配置指令对所述目标应用的监控组件进行配置;
通过配置后的监控组件监控所述目标应用,得到内存分配数据;
将所述内存分配数据上传至所述服务器,以使所述服务器根据所述内存分配数据对所述目标应用的内存使用情况进行评测。


2.根据权利要求1所述的方法,其特征在于,所述根据所述配置指令对所述目标应用的监控组件进行配置,包括:
根据所述配置指令和存储于本地磁盘中的至少一个历史云指令,生成至少一个云指令;
根据所述至少一个云指令对所述监控组件进行配置。


3.根据权利要求2所述的方法,其特征在于,所述根据所述配置指令和存储于本地磁盘中的至少一个历史云指令,生成至少一个云指令,包括:
解析所述配置指令,得到至少一条待更新云指令;
遍历存储于本地磁盘中的至少一个历史云指令,并加载至内存,得到历史云指令列表;
根据所述至少一条待更新云指令对所述历史云指令列表进行更新,得到云指令列表;所述云指令列表包括所述至少一个云指令。


4.根据权利要求1所述的方法,其特征在于,所述通过配置后的监控组件监控所述目标应用,得到内存分配数据,包括:
在对所述目标应用分配内存的过程中,获取每一内存分配对象对应的分配信息;所述分配信息包括所述内存分配对象的大小信息和堆栈信息;
根据每一所述内存分配对象的大小信息和堆栈信息,生成所述内存分配数据。


5.根据权利要求4所述的方法,其特征在于,所述根据每一所述内存分配对象的大小信息和堆栈信息,生成所述内存分配数据,包括:
在所述内存分配对象的大小信息超过预设的触顶阈值的情况下,将所述内存分配对象的大小信息和堆栈信息记录至所述内存中的哈希表;
将所述哈...

【专利技术属性】
技术研发人员:钟豪丁海峰
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1