[发明专利]一种内存监控方法、终端、服务器、设备以及存储介质有效
申请号: | 202110791532.1 | 申请日: | 2021-07-13 |
公开(公告)号: | CN113515428B | 公开(公告)日: | 2023-04-11 |
发明(设计)人: | 庞翔宇 | 申请(专利权)人: | 抖音视界有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30;G06F9/50 |
代理公司: | 北京中知法苑知识产权代理有限公司 11226 | 代理人: | 李明 |
地址: | 100041 北京市石景山区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 监控 方法 终端 服务器 设备 以及 存储 介质 | ||
本公开提供了一种内存监控方法、终端、服务器、设备以及存储介质,通过在服务器侧生成内存配置文件,并根据预设采样监控比例下发内存配置文件,在终端侧根据下发的内存配置文件申请用于监控应用线程的内存空间,并在内存空间中为目标应用线程分配内存,以在目标应用线程释放内存后,若检测到释放后的内存存在异常,可以确定目标应用线程的存在异常。这样,可以通过预设采样监控比例进行线上采样,实现对大多数应用程序内存异常的采样监控,可以进行大规模的线上应用,提高了内存异常监控的终端覆盖率,在终端中申请独立内存空间来监控目标线程的运行问题,可以精准和快速的定位内存异常位置,有助于提高应用的监控效率和检测准确率。
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种内存监控方法、终端、服务器、设备以及存储介质。
背景技术
目前,各种应用程序app在使用中会申请释放堆内存,在申请和释放内存的过程中,会出现内存异常问题,例如内存越界、野指针以及双释放doublefree,且以上内存异常问题发生时很难快速定位出异常位置,从而导致应用程序app在使用的期间出现内存异常问题时很难解决。
对于应用程序的监控检测等,大多是通过线下途径或者在应用程序发布前进行集中的检测,来监控应用程序运行过程中的内存异常问题,模拟运行环境与真正的运行环境始终存在一定区别,而且只能监控小范围的应用程序app的内存异常,很难做到大规模的监控内存异常,普适性较差。
发明内容
本公开实施例至少提供一种内存监控方法、终端、服务器、设备以及存储介质。
本公开实施例提供了一种内存监控方法,应用于终端,所述方法包括:
获取服务器按照预设采样监控比例下发的内存配置文件,所述内存配置文件包括内存配置参数,其中,所述预设采样监控比例是根据终端的总量来设置的;
根据所述内存配置参数,申请用于监控应用线程的内存空间;
在检测到目标应用线程请求运行情况下,在所述内存空间中为所述目标应用线程分配目标运行内存;
在所述目标应用线程释放所述目标运行内存后,若检测到所述目标运行内存存在异常,确定所述目标应用线程的运行存在异常。
一种可选的实施方式中,所述在检测到目标应用线程请求运行情况下,在所述内存空间中为所述目标应用线程分配目标运行内存,包括:
在检测到目标应用线程请求运行情况下,基于所述目标应用线程的标识信息和所述内存配置文件指示的预设默认值,检测是否需要对所述目标应用线程进行监控;
若需要,在所述内存空间中为所述目标应用线程分配目标运行内存。
一种可选的实施方式中,所述若需要,在所述内存空间中为所述目标应用线程分配目标运行内存,包括:
若需要,接管所述目标应用线程的第一内存分配接口;
将所述第一内存分配接口替换为与申请的所述内存空间匹配的第二内存分配接口;
根据修改后的所述第二内存分配接口,在所述内存空间中为请求运行的目标应用线程分配目标运行内存。
一种可选的实施方式中,所述在检测到目标应用线程请求运行情况下,基于所述目标应用线程的标识信息和所述内存配置文件指示的预设默认值,检测是否需要对所述目标应用线程进行监控,包括:
在检测到目标应用线程请求运行情况下,基于所述目标应用线程的标识信息和针对所述目标应用线程的预设监控分配值,确定所述目标应用线程的初始监控采样值;
确定在申请到所述内存空间后,所述目标应用线程在此次请求运行之前的历史运行请求次数;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于抖音视界有限公司,未经抖音视界有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110791532.1/2.html,转载请声明来源钻瓜专利网。