CN116795718A - 基于eBPF的Linux系统内存泄漏检测方法及系统 - Google Patents
基于eBPF的Linux系统内存泄漏检测方法及系统 Download PDFInfo
- Publication number
- CN116795718A CN116795718A CN202310828396.8A CN202310828396A CN116795718A CN 116795718 A CN116795718 A CN 116795718A CN 202310828396 A CN202310828396 A CN 202310828396A CN 116795718 A CN116795718 A CN 116795718A
- Authority
- CN
- China
- Prior art keywords
- memory
- ebpf
- heap
- linux system
- kernel
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 34
- 238000000034 method Methods 0.000 claims description 82
- 230000008569 process Effects 0.000 claims description 62
- 230000006870 function Effects 0.000 claims description 47
- 230000008859 change Effects 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 21
- 230000009191 jumping Effects 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000006978 adaptation Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/366—Software debugging using diagnostics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于eBPF的Linux系统内存泄漏检测方法及系统,本发明基于eBPF的Linux系统内存泄漏检测方法包括把用于获取内存使用信息和判断是否发生内存泄漏的代码放在eBPF钩子函数中,利用eBPF钩子函数直接在Linux系统的内核中获取内存使用信息和判断是否发生内存泄漏,且在判定发生内存泄漏时把泄漏的内存的详细信息发送到用户态。本发明能够以较低的资源消耗实现对整个系统的程序或者部分程序进行同时检测,能够同时检测用户态和内核态的内存泄漏,又避免了改动到代码和频繁的进行系统调用。
Description
技术领域
本发明涉及操作系统领域的内存泄漏内侧技术,具体涉及一种基于eBPF的Linux系统内存泄漏检测方法及系统。
背景技术
在Linux系统中,用户态程序中已动态分配的堆内存和内核态已经分配的内存由于某种原因未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。因此需要进行内存泄漏检测以提前进行处理以避免程序运行速度减慢甚至系统崩溃。现有技术中一般是通过修改libc库的代码记录内存申请和内存释放的情况;又或者频繁的通过系统调用获取内核的内存使用情况,从而对未释放内存的信息进行跟踪。但是,这些方法只能对整个系统的程序同时检测,检测操作对于一些性能较差的CPU来说是消耗的资源是比较大的,而且,现有技术不能够同时检用户态和内核态的内存泄漏问题。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种基于eBPF的Linux系统内存泄漏检测方法及系统,本发明能够以较低的资源消耗实现对整个系统的程序或者部分程序进行同时检测,能够同时检测用户态和内核态的内存泄漏,又避免了改动到代码和频繁的进行系统调用。
为了解决上述技术问题,本发明采用的技术方案为:
一种基于eBPF的Linux系统内存泄漏检测方法,包括:把用于获取内存使用信息和判断是否发生内存泄漏的代码放在eBPF钩子函数中,利用eBPF钩子函数直接在Linux系统的内核中获取内存使用信息和判断是否发生内存泄漏,且在判定发生内存泄漏时把泄漏的内存的详细信息发送到用户态。
可选地,所述eBPF钩子函数分别包括用于获取检测用户态堆内存的内存使用信息和判断是否发生内存泄漏的eBPF钩子函数和用于获取内核态slab内存的内存使用信息和判断是否发生内存泄漏的eBPF钩子函数。
可选地,所述用于获取检测用户态堆内存的内存使用信息和判断是否发生内存泄漏的eBPF钩子函数插入在Linux内核进程切换完毕进行收尾工作的函数finish_task_switch上。
可选地,所述用于获取检测用户态堆内存的内存使用信息和判断是否发生内存泄漏的eBPF钩子函数直接在Linux系统的内核中获取内存使用信息和判断是否发生内存泄漏包括:
S101,读取用户态传入的当前进程的进程参数,判断准备切换出去的当前进程是否为需要检测的进程,如果是则跳转执行步骤S102;否则直接退出;
S102,获取准备切换出去的当前进程的任务结构体task_struct中的内存结构体mm_struct,并且从内存结构体mm_struct中提取出堆起始地址和堆当前地址;
S103,根据堆起始地址和堆当前地址计算出当前进程已经使用的堆内存大小;
S104,对当前进程已经使用的堆内存大小进行记录,形成堆内存大小的变化记录;
S105,判断堆内存大小大于等于预设阈值,且堆内存大小的变化记录形成单调递增的趋势是否成立,若成立则判定可能发生内存泄漏,跳转步骤S106;否则直接退出;
S106,将可能发生内存泄漏的进程的进程号和堆内存大小的变化记录上报到用户态。
可选地,步骤S101中判断准备切换出去的当前进程是否为需要检测的进程是指将准备切换出去的当前进程与预设的进程名单进行对比以判断准备切换出去的当前进程是否为需要检测的进程。
可选地,所述用于获取内核态slab内存的内存使用信息和判断是否发生内存泄漏的eBPF钩子函数插入在Linux内核slab内存管理系统在slab对象不足的时候向伙伴系统申请内存的函数___slab_alloc上。
可选地,所述用于获取内核态slab内存的内存使用信息和判断是否发生内存泄漏的eBPF钩子函数直接在Linux系统的内核中获取内存使用信息和判断是否发生内存泄漏包括:
S201,获取到内核态slab内存的结构体kmem_cache,从结构体kmem_cache里面的结构体数组kmem_cache_node中提取总对象数量total_objects和可用对象数量free_objects;
S202,将总对象数量total_objects减去可用对象数量free_objects得到已使用对象数量;
S203,对已使用对象数量进行记录,形成已使用对象数量的变化记录;
S204,判断已使用对象数量大于等于预设阈值,且已使用对象数量的变化记录形成单调递增的趋势是否成立,若成立则判定可能发生内存泄漏,跳转步骤S106;否则直接退出;
S205,将发生内存泄漏的slab内存种类和使用对象数量的变化记录上报到用户态。
可选地,所述在判定发生内存泄漏时把泄漏的内存的详细信息发送到用户态之后,还包括在用户态通过用户态程序将泄漏的内存的详细信息生成报告以供技术人员处理。
此外,本发明还提供一种基于eBPF的Linux系统内存泄漏检测系统,包括相互连接的微处理器和存储器,所述微处理器被编程或配置以执行所述基于eBPF的Linux系统内存泄漏检测方法。
此外,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序用于被微处理器编程或配置以执行所述基于eBPF的Linux系统内存泄漏检测方法。
此外,本发明还提供一种计算机程序产品,包括计算机程序/指令,,该计算机程序/指令被微处理器编程或配置以执行所述基于eBPF的Linux系统内存泄漏检测方法的步骤。
和现有技术相比,本发明主要具有下述优点:本发明基于eBPF的Linux系统内存泄漏检测方法包括把用于获取内存使用信息和判断是否发生内存泄漏的代码放在eBPF钩子函数中,利用eBPF钩子函数直接在Linux系统的内核中获取内存使用信息和判断是否发生内存泄漏,且在判定发生内存泄漏时把泄漏的内存的详细信息发送到用户态。本发明能够以较低的资源消耗实现对整个系统的程序或者部分程序进行同时检测,能够同时检测用户态和内核态的内存泄漏,又避免了改动到代码和频繁的进行系统调用。
附图说明
图1为本发明实施例方法的基本流程示意图。
图2为本发明实施例中用户态程序的工作流程示意图。
图3为本发明实施例中用户态堆内存检测的流程示意图。
图4为本发明实施例中内核态slab内存检测的流程示意图。
具体实施方式
如图1所示,本实施例基于eBPF(extended Berkeley Packet Filter,扩展的伯克利包过滤器)的Linux系统内存泄漏检测方法包括:把用于获取内存使用信息和判断是否发生内存泄漏的代码放在eBPF钩子函数中,利用eBPF钩子函数直接在Linux系统的内核中获取内存使用信息和判断是否发生内存泄漏,且在判定发生内存泄漏时把泄漏的内存的详细信息发送到用户态,本实施例基于eBPF的Linux系统内存泄漏检测方法能够以较低的资源消耗实现对整个系统的程序或者部分程序进行同时检测,能够同时检测用户态和内核态的内存泄漏,又避免了改动到代码和频繁的进行系统调用。
本实施例基于eBPF的Linux系统内存泄漏检测方法使用eBPF技术对内核函数插入两个eBPF钩子函数分别检测用户态堆内存和内核态slab内存的内存泄漏,即:eBPF钩子函数分别包括用于获取检测用户态堆内存的内存使用信息和判断是否发生内存泄漏的eBPF钩子函数和用于获取内核态slab内存的内存使用信息和判断是否发生内存泄漏的eBPF钩子函数。BPF钩子函数主要分为三部分:获取已经使用的内存信息,形成变化记录;根据获取到的内存信息使用公开的算法判断是否发生内存泄漏;如果判断为发生内存泄漏,把泄漏的内存的详细信息上报到用户态,以便于技术人员查看钩子函数上报的信息确定内存泄漏。
本实施例中,用于获取检测用户态堆内存的内存使用信息和判断是否发生内存泄漏的eBPF钩子函数插入在Linux内核进程切换完毕进行收尾工作的函数finish_task_switch上。函数finish_task_switch是linux内核进程切换完毕进行收尾工作的函数,每个运行的进程的信息可以再这里获取。本实施例中,用于获取内核态slab内存的内存使用信息和判断是否发生内存泄漏的eBPF钩子函数插入在Linux内核slab内存管理系统在slab对象不足的时候向伙伴系统申请内存的函数___slab_alloc上。本实施例方法使用eBPF技术对finish_task_switch和___slab_alloc函数插入eBPF钩子函数,在内核中直接检测用户态堆内存和内核态slab内存的内存泄漏,检测到内存泄漏则把详细信息上报到用户态程序中。如图2所示,在判定发生内存泄漏时把泄漏的内存的详细信息发送到用户态(eBPF钩子函数有信息上报)之后,还包括在用户态通过用户态程序将泄漏的内存的详细信息生成报告以供技术人员处理。
如图3所示,本实施例中用于获取检测用户态堆内存的内存使用信息和判断是否发生内存泄漏的eBPF钩子函数直接在Linux系统的内核中获取内存使用信息和判断是否发生内存泄漏包括:
S101,读取用户态传入的当前进程的进程参数,判断准备切换出去的当前进程是否为需要检测的进程,如果是则跳转执行步骤S102;否则直接退出;
S102,获取准备切换出去的当前进程的任务结构体task_struct中的内存结构体mm_struct,并且从内存结构体mm_struct中提取出堆起始地址和堆当前地址;
S103,根据堆起始地址和堆当前地址计算出当前进程已经使用的堆内存大小;
S104,对当前进程已经使用的堆内存大小进行记录,形成堆内存大小的变化记录;
S105,判断堆内存大小大于等于预设阈值,且堆内存大小的变化记录形成单调递增的趋势是否成立,若成立则判定可能发生内存泄漏,跳转步骤S106;否则直接退出;其中,堆内存大小的变化记录形成单调递增的趋势是指连续多个堆内存大小的变化记录均为增加;
S106,将可能发生内存泄漏的进程的进程号和堆内存大小的变化记录上报到用户态。
本实施例中,步骤S101中判断准备切换出去的当前进程是否为需要检测的进程是指将准备切换出去的当前进程与预设的进程名单进行对比以判断准备切换出去的当前进程是否为需要检测的进程,从而可方便地通过预设的进程名单来确定需要检测的进程,可以有针对性的对单独一个或几个进程进行检测,不一定需要对整个系统的进程进行检测。
如图4所示,本实施例中用于获取内核态slab内存的内存使用信息和判断是否发生内存泄漏的eBPF钩子函数直接在Linux系统的内核中获取内存使用信息和判断是否发生内存泄漏包括:
S201,获取到内核态slab内存的结构体kmem_cache,从结构体kmem_cache里面的结构体数组kmem_cache_node中提取总对象数量total_objects和可用对象数量free_objects;
S202,将总对象数量total_objects减去可用对象数量free_objects得到已使用对象数量;
S203,对已使用对象数量进行记录,形成已使用对象数量的变化记录;
S204,判断已使用对象数量大于等于预设阈值,且已使用对象数量的变化记录形成单调递增的趋势是否成立,若成立则判定可能发生内存泄漏,跳转步骤S106;否则直接退出;
S205,将发生内存泄漏的slab内存种类和使用对象数量的变化记录上报到用户态。
综上所述,本实施例方法使用eBPF技术对finish_task_switch和___slab_alloc函数插入钩子函数,在内核中直接检测用户态堆内存和内核态slab内存的内存泄漏,可以同时检测用户态和内核态的内存泄漏,又避免了改动到代码和频繁的进行系统调用。本发明还可以有针对性的对单独一个或几个进程进行检测,不一定需要对整个系统的进程进行检测,降低了负载。本实施例方法能够以较低的资源消耗实现对整个系统的程序或者部分程序进行同时检测,能够同时检测用户态和内核态的内存泄漏,又避免了改动到代码和频繁的进行系统调用。
此外,本实施例还提供一种基于eBPF的Linux系统内存泄漏检测系统,包括相互连接的微处理器和存储器,所述微处理器被编程或配置以执行所述基于eBPF的Linux系统内存泄漏检测方法。
此外,本实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序用于被微处理器编程或配置以执行所述基于eBPF的Linux系统内存泄漏检测方法。
此外,本实施例还提供一种计算机程序产品,包括计算机程序/指令,,该计算机程序/指令被微处理器编程或配置以执行所述基于eBPF的Linux系统内存泄漏检测方法的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种基于eBPF的Linux系统内存泄漏检测方法,其特征在于,包括:把用于获取内存使用信息和判断是否发生内存泄漏的代码放在eBPF钩子函数中,利用eBPF钩子函数直接在Linux系统的内核中获取内存使用信息和判断是否发生内存泄漏,且在判定发生内存泄漏时把泄漏的内存的详细信息发送到用户态,包括:
S101,读取用户态传入的当前进程的进程参数,判断准备切换出去的当前进程是否为需要检测的进程,如果是则跳转执行步骤S102;否则直接退出;
S102,获取准备切换出去的当前进程的任务结构体task_struct中的内存结构体mm_struct,并且从内存结构体mm_struct中提取出堆起始地址和堆当前地址;
S103,根据堆起始地址和堆当前地址计算出当前进程已经使用的堆内存大小;
S104,对当前进程已经使用的堆内存大小进行记录,形成堆内存大小的变化记录;
S105,判断堆内存大小大于等于预设阈值,且堆内存大小的变化记录形成单调递增的趋势是否成立,若成立则判定可能发生内存泄漏,跳转步骤S106;否则直接退出;
S106,将可能发生内存泄漏的进程的进程号和堆内存大小的变化记录上报到用户态。
2.根据权利要求1所述的基于eBPF的Linux系统内存泄漏检测方法,其特征在于,所述eBPF钩子函数分别包括用于获取检测用户态堆内存的内存使用信息和判断是否发生内存泄漏的eBPF钩子函数和用于获取内核态slab内存的内存使用信息和判断是否发生内存泄漏的eBPF钩子函数。
3.根据权利要求2所述的基于eBPF的Linux系统内存泄漏检测方法,其特征在于,所述用于获取检测用户态堆内存的内存使用信息和判断是否发生内存泄漏的eBPF钩子函数插入在Linux内核进程切换完毕进行收尾工作的函数finish_task_switch上。
4.根据权利要求1所述的基于eBPF的Linux系统内存泄漏检测方法,其特征在于,步骤S101中判断准备切换出去的当前进程是否为需要检测的进程是指将准备切换出去的当前进程与预设的进程名单进行对比以判断准备切换出去的当前进程是否为需要检测的进程。
5.根据权利要求2所述的基于eBPF的Linux系统内存泄漏检测方法,其特征在于,所述用于获取内核态slab内存的内存使用信息和判断是否发生内存泄漏的eBPF钩子函数插入在Linux内核slab内存管理系统在slab对象不足的时候向伙伴系统申请内存的函数___slab_alloc上。
6.根据权利要求2所述的基于eBPF的Linux系统内存泄漏检测方法,其特征在于,所述用于获取内核态slab内存的内存使用信息和判断是否发生内存泄漏的eBPF钩子函数直接在Linux系统的内核中获取内存使用信息和判断是否发生内存泄漏包括:
S201,获取到内核态slab内存的结构体kmem_cache,从结构体kmem_cache里面的结构体数组kmem_cache_node中提取总对象数量total_objects和可用对象数量free_objects;
S202,将总对象数量total_objects减去可用对象数量free_objects得到已使用对象数量;
S203,对已使用对象数量进行记录,形成已使用对象数量的变化记录;
S204,判断已使用对象数量大于等于预设阈值,且已使用对象数量的变化记录形成单调递增的趋势是否成立,若成立则判定可能发生内存泄漏,跳转步骤S106;否则直接退出;
S205,将发生内存泄漏的slab内存种类和使用对象数量的变化记录上报到用户态。
7.根据权利要求1所述的基于eBPF的Linux系统内存泄漏检测方法,其特征在于,所述在判定发生内存泄漏时把泄漏的内存的详细信息发送到用户态之后,还包括在用户态通过用户态程序将泄漏的内存的详细信息生成报告以供技术人员处理。
8.一种基于eBPF的Linux系统内存泄漏检测系统,包括相互连接的微处理器和存储器,其特征在于,所述微处理器被编程或配置以执行权利要求1~7中任意一项所述基于eBPF的Linux系统内存泄漏检测方法的步骤。
9.一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其特征在于,所述计算机程序用于被微处理器编程或配置以执行权利要求1~7中任意一项所述基于eBPF的Linux系统内存泄漏检测方法的步骤。
10.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被微处理器编程或配置以执行权利要求1~7中任意一项所述基于eBPF的Linux系统内存泄漏检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310828396.8A CN116795718A (zh) | 2023-07-06 | 2023-07-06 | 基于eBPF的Linux系统内存泄漏检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310828396.8A CN116795718A (zh) | 2023-07-06 | 2023-07-06 | 基于eBPF的Linux系统内存泄漏检测方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116795718A true CN116795718A (zh) | 2023-09-22 |
Family
ID=88040016
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310828396.8A Pending CN116795718A (zh) | 2023-07-06 | 2023-07-06 | 基于eBPF的Linux系统内存泄漏检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116795718A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117435440A (zh) * | 2023-12-20 | 2024-01-23 | 麒麟软件有限公司 | 一种程序堆空间的动态分析方法及系统 |
-
2023
- 2023-07-06 CN CN202310828396.8A patent/CN116795718A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117435440A (zh) * | 2023-12-20 | 2024-01-23 | 麒麟软件有限公司 | 一种程序堆空间的动态分析方法及系统 |
CN117435440B (zh) * | 2023-12-20 | 2024-04-05 | 麒麟软件有限公司 | 一种程序堆空间的动态分析方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106933733B (zh) | 一种确定内存泄露位置的方法和装置 | |
CN101414272B (zh) | 内存泄漏的检测方法和装置 | |
CN102222015B (zh) | 检测多线程程序中的死锁的方法及系统 | |
US8671246B2 (en) | Information processing system and information processing method | |
CN102063338B (zh) | 一种请求独占资源的方法及装置 | |
CN116795718A (zh) | 基于eBPF的Linux系统内存泄漏检测方法及系统 | |
US20130096880A1 (en) | System test method | |
JP2007157131A (ja) | ガベージ・コレクション対応の仮想マシンにおいて、将来のメモリ不足例外を自動予測する方法、コンピュータ読み取り可能な媒体、及びコンピューティング・デバイス | |
CN111338796B (zh) | 应用内存优化方法、装置、终端设备及可读存储介质 | |
WO2005017735A1 (ja) | ディスクアレイ装置におけるボトルネックを検出するシステムおよびプログラム | |
CN109558263B (zh) | 一种固态硬盘数据读取错误的处理方法及相关装置 | |
CN104685474A (zh) | 包括不可纠正的错误的地址范围的通知 | |
CN112445686A (zh) | 内存泄漏检测方法、装置以及计算机可读存储介质 | |
CN115794472A (zh) | 芯片的错误收集及错误处理方法、装置及存储介质 | |
US20080133975A1 (en) | Method for Running a Computer Program on a Computer System | |
CN109542341B (zh) | 一种读写io监测方法、装置、终端及计算机可读存储介质 | |
KR101991687B1 (ko) | 동적 라이브러리 프로파일링 방법, 이를 기록한 컴퓨터로 읽을 수 있는 기록 매체 및 동적 라이브러리 프로파일링 시스템 | |
CN110597688A (zh) | 监控信息采集方法及系统 | |
CN112052088B (zh) | 自适应的进程cpu资源限制方法、装置、终端及存储介质 | |
CN110704313B (zh) | Java虚拟机内存泄漏检测方法及装置 | |
US6785883B1 (en) | Software system for tracing data | |
CN113127314A (zh) | 一种检测程序性能瓶颈的方法、装置及计算机设备 | |
CN110781166A (zh) | 存储系统中数据管理方法和装置 | |
CN111090627B (zh) | 基于池化的日志存储方法、装置、计算机设备及存储介质 | |
CN113468020A (zh) | 内存监控方法、装置、电子设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |