CN111488316B - 文件缓存回收方法及装置 - Google Patents
文件缓存回收方法及装置 Download PDFInfo
- Publication number
- CN111488316B CN111488316B CN202010282546.6A CN202010282546A CN111488316B CN 111488316 B CN111488316 B CN 111488316B CN 202010282546 A CN202010282546 A CN 202010282546A CN 111488316 B CN111488316 B CN 111488316B
- Authority
- CN
- China
- Prior art keywords
- file cache
- memory
- file
- target system
- cache
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及一种文件缓存回收方法、装置、电子设备及计算机可读介质。该方法包括:获取目标***的空闲内存和文件缓存;在所述空闲内存小于第一阈值且所述文件缓存大于第二阈值时,生成文件缓存回收命令;基于所述文件缓存回收命令对所述目标***的文件缓存进行回收操作;在所述空闲内存大于第三阈值时,完成本次文件缓存回收操作。本公开涉及的文件缓存回收方法、装置、电子设备及计算机可读介质,能够有效的解决文件缓存占用内存过多时审计业务概率性分配内存失败问题,提高网络审计的准确性。
Description
技术领域
本公开涉及计算机信息处理领域,具体而言,涉及一种文件缓存回收方法、装置、电子设备及计算机可读介质。
背景技术
网络审计,是指按照一定的安全策略,审查用户的上网行为。在linux***支持网络审计时,为了保证审计***的处理高性能,在申请内存时需要选择非休眠方式申请内存,即不会等待内存***回收文件缓存内存,***空闲内存不足时直接返回申请失败。
然而,在网络审计***运行过程中会生成大量行为审计日志,日志需要发送到日志服务器存储以方便日志查询历史日志,日志文件的存储、查询过程中会频繁的读写文件。当日志服务器和审计***为同一台设备时,就要面临上面文件缓存内存消耗内存问题,如果文件缓存内存占用过多内存,就可能导致内核审计流程申请内存失败,最终影响审计***的准确性。所以,如何平衡文件缓存和空闲内存变得尤其重要。
在所述背景技术部分公开的上述信息仅用于加强对本公开的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本公开提供一种文件缓存回收方法、装置、电子设备及计算机可读介质,能够有效的解决文件缓存占用内存过多时审计业务概率性分配内存失败问题,提高网络审计的准确性。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一方面,提出一种文件缓存回收方法,该方法包括:获取目标***的空闲内存和文件缓存;在所述空闲内存小于第一阈值且所述文件缓存大于第二阈值时,生成文件缓存回收命令;基于所述文件缓存回收命令对所述目标***的文件缓存进行回收操作;在所述空闲内存大于第三阈值时,完成本次文件缓存回收操作。
在本公开的一种示例性实施例中,获取目标***的空闲内存和文件缓存之前,包括:控制所述目标***进行网络审计业务,所述目标***为linux***。
在本公开的一种示例性实施例中,获取目标***的空闲内存和文件缓存,包括:通过内核线程获取所述目标***的所述空闲内存和所述文件缓存。
在本公开的一种示例性实施例中,通过内核线程获取所述目标***的所述空闲内存和所述文件缓存,包括:周期性的调用所述内核线程以获取所述目标***的所述空闲内存和所述文件缓存。
在本公开的一种示例性实施例中,基于所述文件缓存回收命令对所述目标***的文件缓存进行回收操作,包括:基于所述文件缓存回收命令对所述目标***的多个内存管理区逐一进行文件缓存的回收操作。
在本公开的一种示例性实施例中,基于所述文件缓存回收命令对所述目标***的多个内存管理区逐一进行文件缓存的回收操作,包括:基于所述文件缓存回收命令调用内核缓存回收接口;通过所述内核缓存回收接口获取所述目标***的多个内存管理区的文件缓存;逐一对所述多个内存管理区的文件缓存进行回收操作。
在本公开的一种示例性实施例中,逐一对所述多个内存管理区的文件缓存进行回收操作,包括:在回收完当前内存管理区的文件缓存之后,基于所述回收操作更新空闲内存。
在本公开的一种示例性实施例中,还包括:在所述空闲内存小于第三阈值且所述文件缓存大于第二阈值时,继续对剩余的内存管理区的文件缓存进行回收操作。
在本公开的一种示例性实施例中,还包括:在所述空闲内存小于第一阈值且所述文件缓存小于第二阈值时,不生成文件缓存回收命令。
根据本公开的一方面,提出一种文件缓存回收装置,该装置包括:数据模块,用于获取目标***的空闲内存和文件缓存;命令模块,用于在所述空闲内存小于第一阈值且所述文件缓存大于第二阈值时,生成文件缓存回收命令;回收模块,用于基于所述文件缓存回收命令对所述目标***的文件缓存进行回收操作;完成模块,用于在所述空闲内存大于第三阈值时,完成本次文件缓存回收操作。
根据本公开的一方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上文的方法。
根据本公开的一方面,提出一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上文中的方法。
根据本公开的文件缓存回收方法、装置、电子设备及计算机可读介质,在目标***的空闲内存小于第一阈值且文件缓存大于第二阈值时,生成文件缓存回收命令;基于所述文件缓存回收命令对所述目标***的文件缓存进行回收操作;在所述空闲内存大于第三阈值时,完成本次文件缓存回收操作的方式,能够有效的解决文件缓存占用内存过多时审计业务概率性分配内存失败问题,提高网络审计的准确性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
通过参照附图详细描述其示例实施例,本公开的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本公开的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种文件缓存回收方法及装置的***框图。
图2是根据一示例性实施例示出的一种文件缓存回收方法的流程图。
图3是根据另一示例性实施例示出的一种文件缓存回收方法的流程图。
图4是根据一示例性实施例示出的一种文件缓存回收装置的框图。
图5是根据一示例性实施例示出的一种电子设备的框图。
图6是根据一示例性实施例示出的一种计算机可读介质的框图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本公开概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本公开所必须的,因此不能用于限制本公开的保护范围。
本公开涉及的术语解释如下:
网络审计:是指按照一定的安全策略,审查用户的上网行为。例如在审计Email时,指定对某客户端的邮件主题进行审计是否含有“ABC”关键字,那么设备将对与该客户端来往邮件内容进行过滤,对含有指定关键的报文的相关信息进行提取,并发出通知。
内存:内存是计算机中重要的部件之一,它是外存与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大。内存(Memory)也被称为内存储器和主存储器,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。只要计算机在运行中,CPU就会把需要运算的数据调到内存中进行运算,当运算完成后CPU再将结果传送出来,内存的运行也决定了计算机的稳定运行。
本公开的发明人发现,由于访问内存的效率远高于访问硬盘的效率,Linux内核为了提高文件的读写速度,访问文件时会在内存中对文件进行缓存,这部分内存称之为CacheMemory(缓存内存),当访问文件操作结束后,Cache Memory并不会自动释放,以方便下次访问同一个文件时可以直接从内存中获取文件数据,极大提高了访问文件的效率。CacheMemory在***内存低于一定阈值时也会自动回收一部分,但并不是全部回收,内存水平达到high水位时就停止回收,主要回收途径有:
方案1:将内存分块管理,划分单独的内存空间给审计业务单独使用,如内存一共16G,将内存分为10G和6G两部分,10G供审计业务使用。6G供操作***本身及日志查询使用;如此可避免查询日志将过多内存。这种方式将内存分块管理使用会导致内存不能充分使用,比如没有查询日志时分配给查询使用的6G内存将造成浪费
方案2:使用linux自带的Cache回收机制,由kswapd进程和内存分配时触发回收。由于linux自身的回收机制依赖于内存管理***的内存阈值,Linux中物理内存的每个zone都有自己独立的min,low和high三个阈值。在进行内存分配的时候,如果分配器(比如buddyallocator)发现当前空余内存的值低于”low”但高于”min”,说明现在内存面临一定的压力,那么在此次内存分配完成后,kswapd将被唤醒,以执行内存回收操作,直到空闲内存达到high阈值水平,则结束回收。在这种情况下,内存分配虽然会触发内存回收,但不存在被内存回收所阻塞的问题,两者的执行关系是异步的,看似解决了问题,但网络审计***实际工作时,经常会在短时间内需要大量内存,并且***的min\low\high相差较小,这时会出现内存回收的速率没有分配的速率快,最终还是会出现内存分配失败的情况,内存失败则会影响审计业务的准确性。
方案3:通过定时检查设备剩余内存,脚本执行echo 3>/proc/sys/vm/drop_caches进行缓存回收。这种方式会将所有Cache内存直接回收,但回收的同时也失去了所有的文件缓存,对文件读写性能影响较大。
有鉴于现有技术中的缺陷,本公开提出一种文件缓存回收方法及装置,是一种平衡文件缓存和内核审计业务内存分配的优化方法,为了解决在文件缓存过大时审计功能分配内存失败问题。下面结合具体的实施例,对本公开的内容进行详细描述。
图1是根据一示例性实施例示出的一种文件缓存回收方法、装置、电子设备及计算机可读介质的***框图。
如图1所示,***架构10可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。终端设备101、102、103上安装有linux***。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的平台提供支持的后台管理服务器。后台管理服务器可以对接收到的数据进行分析等处理,并将处理结果反馈给终端设备。
终端设备101、102、103可例如获取本身***的空闲内存和文件缓存;终端设备101、102、103可例如在所述空闲内存小于第一阈值且所述文件缓存大于第二阈值时,生成文件缓存回收命令;终端设备101、102、103可例如基于所述文件缓存回收命令对所述目标***的文件缓存进行回收操作;终端设备101、102、103可例如在所述空闲内存大于第三阈值时,完成本次文件缓存回收操作。
服务器105可例如获取终端设备101(或者102或103)的空闲内存和文件缓存;服务器105可例如在所述空闲内存小于第一阈值且所述文件缓存大于第二阈值时,生成文件缓存回收命令;服务器105可例如基于所述文件缓存回收命令对所述目标***的文件缓存进行回收操作;服务器105可例如在所述空闲内存大于第三阈值时,完成本次文件缓存回收操作。
服务器105可以是一个实体的服务器,还可例如为多个服务器组成,需要说明的是,本公开实施例所提供的文件缓存回收方法可以由服务器105或终端设备101、102、103执行,相应地,文件缓存回收装置可以设置于服务器105或终端设备101、102、103中。
本公开的文件缓存回收方法,通过增加内存检测线程,周期性扫描内存、文件缓存使用情况,并设置空闲内存阈值、文件缓存阈值、安全内存阈值,根据空闲内存、文件缓存与各阈值间的大小关系判断是否需要回收文件缓存,以及回收多少文件缓存。当空闲内存小于空闲阈值时,表示当前***剩余内存已经不多,期望回收文件缓存,供审计业务使用;回收时首先检查当前文件缓存大小,如果文件缓存小于缓存阈值,表明文件缓存所占内存并不多,内存可能大部分被审计业务占用,回收缓存并不能解决内存紧张问题,不进行缓存回收,反之,如果文件缓存大于缓存阈值,则可通过回收缓存释放更多内存;回收文件缓存时选择尽可能少回收的原则,当空闲内存大于安全阈值时结束回收。这种方式能够保证了内核审计业务申请内存时不会失败,也可能充分利用的linux***的文件缓存特性,保证日志查询时读写文件的效率。
图2是根据一示例性实施例示出的一种文件缓存回收方法的流程图。文件缓存回收方法20至少包括步骤S202至S208。
如图2所示,在S202中,获取目标***的空闲内存和文件缓存。所述目标***为linux***。其中,在获取目标***的空闲内存和文件缓存之前,包括:控制所述目标***进行网络审计业务。
在一个实施例中,获取目标***的空闲内存和文件缓存,包括:通过内核线程获取所述目标***的所述空闲内存和所述文件缓存。具体可例如:周期性的调用所述内核线程以获取所述目标***的所述空闲内存和所述文件缓存。
在S204中,在所述空闲内存小于第一阈值且所述文件缓存大于第二阈值时,生成文件缓存回收命令。在一个实施例中,还包括:在所述空闲内存小于第一阈值且所述文件缓存小于第二阈值时,不生成文件缓存回收命令。
其中,第一阈值可认为是***空闲内存最小值,当空闲内存小于该值时,期望进行回收,第一阈值也可称为空闲内存阈值。
其中,第二阈值可认为是文件缓存最小值阈值,当文件缓存小于该值时,不进行回收缓存,第二阈值也可称为缓存内存阈值。
在S206中,基于所述文件缓存回收命令对所述目标***的文件缓存进行回收操作。包括:基于所述文件缓存回收命令对所述目标***的多个内存管理区逐一进行文件缓存的回收操作。
在一个实施例中,基于所述文件缓存回收命令对所述目标***的多个内存管理区逐一进行文件缓存的回收操作,包括:基于所述文件缓存回收命令调用内核缓存回收接口;通过所述内核缓存回收接口获取所述目标***的多个内存管理区的文件缓存;逐一对所述多个内存管理区的文件缓存进行回收操作。
在一个实施例中,还包括:在回收完当前内存管理区的文件缓存之后,基于所述回收操作更新空闲内存。
在S208中,在所述空闲内存大于第三阈值时,完成本次文件缓存回收操作。还包括:在所述空闲内存小于第三阈值且所述文件缓存大于第二阈值时,继续对剩余的内存管理区的文件缓存进行回收操作。
其中,第三阈值可认为是空闲内存充足水平线,第三阈值可称为安全内存阈值,在回收文件缓存时,达到此阈值则结束当前回收操作。
根据本公开的文件缓存回收方法,获取目标***的空闲内存和文件缓存;在所述空闲内存小于第一阈值且所述文件缓存大于第二阈值时,生成文件缓存回收命令;基于所述文件缓存回收命令对所述目标***的文件缓存进行回收操作;在所述空闲内存大于第三阈值时,完成本次文件缓存回收操作的方式,能够有效的解决文件缓存占用内存过多时审计业务概率性分配内存失败问题,提高网络审计的准确性。
应清楚地理解,本公开描述了如何形成和使用特定示例,但本公开的原理不限于这些示例的任何细节。相反,基于本公开公开的内容的教导,这些原理能够应用于许多其它实施例。
图3是根据另一示例性实施例示出的一种文件缓存回收方法的流程图。图3所示的流程是对图2所示的流程的补充描述。
如图3所示,在S302中,周期性的检查内存使用情况。更具体的,可通过内核线程,周期性检查内存使用情况,检测***空闲内存和文件缓存。
在S304中,空闲内存是否小于第一阈值。将空闲内存与阈值一进行比较,如空闲内存大于第一阈值,则进入步骤S302,继续进行周期性的检查。如空闲内容小于第一阈值,则进入步骤S306。
在S306中,文件缓存是否大于第二阈值。将文件缓存与第二阈值进行比较,如文件缓存低于阈值二,说明文件缓存所占内存较少,不需要回收,则则进入步骤S302,继续进行周期性的检查。如文件缓存大于第二阈值,表明文件缓存较多,需执行回收,则进入步骤S308。
在S308中,遍历内存管理器依次进行文件缓存页面回收。进行文件缓存回收操作,遍历所有内存管理区,调用内核缓存回收接口(可例如为shrink_zone接口,不同操作***以实际接口为准)进行文件缓存页面回收。
在S310中,空闲内存是否大于第三阈值。在回收文件缓存时,并不需要回收所有文件缓存页面,只需要将空闲内存水平达到阈值三即可。所以每次回收完一个内存管理区后,检查内存是否需要继续回收。空闲内存小于第三阈值,则进入步骤S308继续进行回收,空闲内存大于第三阈值,则结束本次回收。
根据本公开的文件缓存回收方法,在内存低于第一阈值时触发回收,高于第三阈值时就收结束,所以第三阈值要大于第一阈值,这样可以减少缓存回收的频率。另外,在流量突发时,由于第一阈值到内存分配失败的阈值(linux***内存管理模块阈值)有较大差值,所以可以保证审计业务可正常分配到内存。
根据本公开的文件缓存回收方法,通过内核线程定时扫描内存使用情况,根据设置的内存阈值对文件缓存进行回收,可有效的解决文件缓存占用内存过多时审计业务概率性分配内存失败问题,还可提高网络审计的准确性。
本领域技术人员可以理解实现上述实施例的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本公开提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
图4是根据一示例性实施例示出的一种文件缓存回收装置的框图。如图4所示,文件缓存回收装置40包括:数据模块402,命令模块404,回收模块406,完成模块408。
数据模块402用于获取目标***的空闲内存和文件缓存;其中,所述目标***可为linux***,目标***可同时进行网络审计业务。数据模块402还用于通过内核线程获取所述目标***的所述空闲内存和所述文件缓存。
命令模块404用于在所述空闲内存小于第一阈值且所述文件缓存大于第二阈值时,生成文件缓存回收命令;
回收模块406用于基于所述文件缓存回收命令对所述目标***的文件缓存进行回收操作;可例如,基于所述文件缓存回收命令对所述目标***的多个内存管理区逐一进行文件缓存的回收操作。回收模块406还用于基于所述文件缓存回收命令调用内核缓存回收接口;通过所述内核缓存回收接口获取所述目标***的多个内存管理区的文件缓存;逐一对所述多个内存管理区的文件缓存进行回收操作。
完成模块408用于在所述空闲内存大于第三阈值时,完成本次文件缓存回收操作。
根据本公开的文件缓存回收装置,获取目标***的空闲内存和文件缓存;在所述空闲内存小于第一阈值且所述文件缓存大于第二阈值时,生成文件缓存回收命令;基于所述文件缓存回收命令对所述目标***的文件缓存进行回收操作;在所述空闲内存大于第三阈值时,完成本次文件缓存回收操作的方式,能够有效的解决文件缓存占用内存过多时审计业务概率性分配内存失败问题,提高网络审计的准确性。
图5是根据一示例性实施例示出的一种电子设备的框图。
下面参照图5来描述根据本公开的这种实施方式的电子设备500。图5显示的电子设备500仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图5所示,电子设备500以通用计算设备的形式表现。电子设备500的组件可以包括但不限于:至少一个处理单元510、至少一个存储单元520、连接不同***组件(包括存储单元520和处理单元510)的总线530、显示单元540等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元510执行,使得所述处理单元510执行本说明书上述电子处方流转处理方法部分中描述的根据本公开各种示例性实施方式的步骤。例如,所述处理单元510可以执行如图2,图3中所示的步骤。
所述存储单元520可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)5201和/或高速缓存存储单元5202,还可以进一步包括只读存储单元(ROM)5203。
所述存储单元520还可以包括具有一组(至少一个)程序模块5205的程序/实用工具5204,这样的程序模块5205包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线530可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、***总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备500也可以与一个或多个外部设备500’(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备500交互的设备通信,和/或与使得该电子设备500能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口550进行。并且,电子设备500还可以通过网络适配器560与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器560可以通过总线530与电子设备500的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备500使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,如图6所示,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本公开实施方式的上述方法。
所述软件产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现如下功能:获取目标***的空闲内存和文件缓存;在所述空闲内存小于第一阈值且所述文件缓存大于第二阈值时,生成文件缓存回收命令;基于所述文件缓存回收命令对所述目标***的文件缓存进行回收操作;在所述空闲内存大于第三阈值时,完成本次文件缓存回收操作。
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施例的方法。
以上具体地示出和描述了本公开的示例性实施例。应可理解的是,本公开不限于这里描述的详细结构、设置方式或实现方法;相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
Claims (6)
1.一种文件缓存回收方法,其特征在于,包括:
控制目标***进行网络审计业务,所述目标***为linux***;
周期性的调用内核线程以获取目标***的空闲内存和文件缓存;
在所述空闲内存小于第一阈值且所述文件缓存大于第二阈值时,生成文件缓存回收命令,在所述空闲内存小于第一阈值且所述文件缓存小于第二阈值时,不生成文件缓存回收命令;
基于所述文件缓存回收命令对所述目标***的文件缓存进行回收操作;
在所述空闲内存大于第三阈值时,完成本次文件缓存回收操作。
2.如权利要求1所述的方法,其特征在于,基于所述文件缓存回收命令对所述目标***的文件缓存进行回收操作,包括:
基于所述文件缓存回收命令对所述目标***的多个内存管理区逐一进行文件缓存的回收操作。
3.如权利要求2所述的方法,其特征在于,基于所述文件缓存回收命令对所述目标***的多个内存管理区逐一进行文件缓存的回收操作,包括:
基于所述文件缓存回收命令调用内核缓存回收接口;
通过所述内核缓存回收接口获取所述目标***的多个内存管理区的文件缓存;
逐一对所述多个内存管理区的文件缓存进行回收操作。
4.如权利要求3所述的方法,其特征在于,逐一对所述多个内存管理区的文件缓存进行回收操作,包括:
在回收完当前内存管理区的文件缓存之后,基于所述回收操作更新空闲内存。
5.如权利要求4所述的方法,其特征在于,还包括:
在所述空闲内存小于第三阈值且所述文件缓存大于第二阈值时,继续对剩余的内存管理区的文件缓存进行回收操作。
6.一种文件缓存回收装置,其特征在于,包括:
数据模块,用于控制目标***进行网络审计业务,所述目标***为linux***,周期性的调用内核线程以获取所述目标***的获取目标***的空闲内存和文件缓存;
命令模块,用于在所述空闲内存小于第一阈值且所述文件缓存大于第二阈值时,生成文件缓存回收命令,在所述空闲内存小于第一阈值且所述文件缓存小于第二阈值时,不生成文件缓存回收命令;
回收模块,用于基于所述文件缓存回收命令对所述目标***的文件缓存进行回收操作;
完成模块,用于在所述空闲内存大于第三阈值时,完成本次文件缓存回收操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010282546.6A CN111488316B (zh) | 2020-04-12 | 2020-04-12 | 文件缓存回收方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010282546.6A CN111488316B (zh) | 2020-04-12 | 2020-04-12 | 文件缓存回收方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111488316A CN111488316A (zh) | 2020-08-04 |
CN111488316B true CN111488316B (zh) | 2023-09-22 |
Family
ID=71812718
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010282546.6A Active CN111488316B (zh) | 2020-04-12 | 2020-04-12 | 文件缓存回收方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111488316B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112035253B (zh) * | 2020-08-27 | 2023-01-20 | 浪潮商用机器有限公司 | 一种linux***页缓存回收方法及相关装置 |
CN113986540B (zh) * | 2021-10-25 | 2024-05-10 | 苏州浪潮智能科技有限公司 | 定时回收linux高速缓存的方法和装置 |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6038571A (en) * | 1996-01-31 | 2000-03-14 | Kabushiki Kaisha Toshiba | Resource management method and apparatus for information processing system of multitasking facility |
WO2008135078A1 (en) * | 2007-05-02 | 2008-11-13 | Telefonaktiebolaget Lm Ericsson (Publ) | Secure erasure of digital files |
CN101833512A (zh) * | 2010-04-22 | 2010-09-15 | 中兴通讯股份有限公司 | 一种内存回收方法及其装置 |
CN103092775A (zh) * | 2013-01-31 | 2013-05-08 | 武汉大学 | 一种基于键值结构的空间数据双缓存方法及机制 |
CN105760228A (zh) * | 2016-01-29 | 2016-07-13 | 珠海汇迪科技有限公司 | 低内存安卓设备下提高游戏流畅度的方法 |
CN106776375A (zh) * | 2016-12-27 | 2017-05-31 | 东方网力科技股份有限公司 | 一种磁盘内部的数据缓存方法及装置 |
CN107045530A (zh) * | 2017-01-20 | 2017-08-15 | 华中科技大学 | 一种将对象存储***实现为本地文件***的方法 |
CN107220076A (zh) * | 2016-09-27 | 2017-09-29 | 华为技术有限公司 | 一种内存回收方法及装置 |
CN108733507A (zh) * | 2017-04-17 | 2018-11-02 | 伊姆西Ip控股有限责任公司 | 文件备份和恢复的方法和设备 |
CN109271355A (zh) * | 2018-08-27 | 2019-01-25 | 杭州迪普科技股份有限公司 | 一种清理日志文件缓存的方法及装置 |
CN109445943A (zh) * | 2018-10-24 | 2019-03-08 | 郑州云海信息技术有限公司 | 内核态***中i/o栈的内存管理方法、***及相关装置 |
CN109815425A (zh) * | 2018-12-14 | 2019-05-28 | 平安科技(深圳)有限公司 | 缓存数据处理方法、装置、计算机设备和存储介质 |
CN110134652A (zh) * | 2019-05-10 | 2019-08-16 | Oppo广东移动通信有限公司 | 缓存文件的回收方法、装置、电子设备及存储介质 |
CN110162396A (zh) * | 2018-02-14 | 2019-08-23 | 阿里巴巴集团控股有限公司 | 内存回收方法、装置、***和存储介质 |
CN110908923A (zh) * | 2018-09-14 | 2020-03-24 | 阿里巴巴集团控股有限公司 | 内存回收方法及装置 |
WO2020062986A1 (zh) * | 2018-09-26 | 2020-04-02 | Oppo广东移动通信有限公司 | 文件缓存的回收方法以及装置、存储介质及终端 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8346740B2 (en) * | 2005-07-22 | 2013-01-01 | Hewlett-Packard Development Company, L.P. | File cache management system |
US9075813B2 (en) * | 2011-09-15 | 2015-07-07 | Red Hat, Inc. | Saving a snapshot of free space of a file system on persistent storage |
-
2020
- 2020-04-12 CN CN202010282546.6A patent/CN111488316B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6038571A (en) * | 1996-01-31 | 2000-03-14 | Kabushiki Kaisha Toshiba | Resource management method and apparatus for information processing system of multitasking facility |
WO2008135078A1 (en) * | 2007-05-02 | 2008-11-13 | Telefonaktiebolaget Lm Ericsson (Publ) | Secure erasure of digital files |
CN101833512A (zh) * | 2010-04-22 | 2010-09-15 | 中兴通讯股份有限公司 | 一种内存回收方法及其装置 |
CN103092775A (zh) * | 2013-01-31 | 2013-05-08 | 武汉大学 | 一种基于键值结构的空间数据双缓存方法及机制 |
CN105760228A (zh) * | 2016-01-29 | 2016-07-13 | 珠海汇迪科技有限公司 | 低内存安卓设备下提高游戏流畅度的方法 |
WO2018059076A1 (zh) * | 2016-09-27 | 2018-04-05 | 华为技术有限公司 | 一种内存回收方法及装置 |
CN107220076A (zh) * | 2016-09-27 | 2017-09-29 | 华为技术有限公司 | 一种内存回收方法及装置 |
CN106776375A (zh) * | 2016-12-27 | 2017-05-31 | 东方网力科技股份有限公司 | 一种磁盘内部的数据缓存方法及装置 |
CN107045530A (zh) * | 2017-01-20 | 2017-08-15 | 华中科技大学 | 一种将对象存储***实现为本地文件***的方法 |
CN108733507A (zh) * | 2017-04-17 | 2018-11-02 | 伊姆西Ip控股有限责任公司 | 文件备份和恢复的方法和设备 |
CN110162396A (zh) * | 2018-02-14 | 2019-08-23 | 阿里巴巴集团控股有限公司 | 内存回收方法、装置、***和存储介质 |
CN109271355A (zh) * | 2018-08-27 | 2019-01-25 | 杭州迪普科技股份有限公司 | 一种清理日志文件缓存的方法及装置 |
CN110908923A (zh) * | 2018-09-14 | 2020-03-24 | 阿里巴巴集团控股有限公司 | 内存回收方法及装置 |
WO2020062986A1 (zh) * | 2018-09-26 | 2020-04-02 | Oppo广东移动通信有限公司 | 文件缓存的回收方法以及装置、存储介质及终端 |
CN109445943A (zh) * | 2018-10-24 | 2019-03-08 | 郑州云海信息技术有限公司 | 内核态***中i/o栈的内存管理方法、***及相关装置 |
CN109815425A (zh) * | 2018-12-14 | 2019-05-28 | 平安科技(深圳)有限公司 | 缓存数据处理方法、装置、计算机设备和存储介质 |
CN110134652A (zh) * | 2019-05-10 | 2019-08-16 | Oppo广东移动通信有限公司 | 缓存文件的回收方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111488316A (zh) | 2020-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11151499B2 (en) | Discovering linkages between changes and incidents in information technology systems | |
US9003239B2 (en) | Monitoring and resolving deadlocks, contention, runaway CPU and other virtual machine production issues | |
CN110059477B (zh) | 一种攻击检测方法及装置 | |
CN109857556B (zh) | 内存回收方法及装置、存储介质和电子设备 | |
JP2017539000A (ja) | 格納クライアントファイルシステム用格納ボリュームの動的スケーリング | |
CN110865888A (zh) | 一种资源加载方法、装置、服务器及存储介质 | |
US9501313B2 (en) | Resource management and allocation using history information stored in application's commit signature log | |
CN107025256B (zh) | 用于减少基于云的服务的重新激活时间的方法和*** | |
US8918776B2 (en) | Self-adapting software system | |
CN111488316B (zh) | 文件缓存回收方法及装置 | |
CN113254445B (zh) | 实时数据存储方法、装置、计算机设备及存储介质 | |
CN109951553B (zh) | 数据处理方法、***、电子设备以及计算机可读存储介质 | |
CN109062602B (zh) | 一种针对应用程序的数据处理方法、装置及电子设备 | |
CN113051055A (zh) | 一种任务处理方法和装置 | |
CN111858393A (zh) | 内存页面管理方法、内存页面管理装置、介质与电子设备 | |
CN116521639A (zh) | 一种日志数据的处理方法、电子设备和计算机可读介质 | |
CN111562958A (zh) | 页面数据展示管理方法以及装置 | |
CN111767113A (zh) | 一种用于实现容器驱逐的方法和装置 | |
CN115484149B (zh) | 网络切换方法、网络切换装置、电子设备及存储介质 | |
US20230161664A1 (en) | Method of responding to operation, electronic device, and storage medium | |
US20230236922A1 (en) | Failure Prediction Using Informational Logs and Golden Signals | |
CN115390992A (zh) | 一种虚拟机创建方法、装置、设备和存储介质 | |
CN116302154A (zh) | 一种文件处理方法、装置、电子设备及其存储介质 | |
CN115202825A (zh) | 一种大规模集群请求处理方法、装置以及介质 | |
CN116860518A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |