CN102662866B - 一种文件cache管理方法及内存管理*** - Google Patents

一种文件cache管理方法及内存管理*** Download PDF

Info

Publication number
CN102662866B
CN102662866B CN201210104071.7A CN201210104071A CN102662866B CN 102662866 B CN102662866 B CN 102662866B CN 201210104071 A CN201210104071 A CN 201210104071A CN 102662866 B CN102662866 B CN 102662866B
Authority
CN
China
Prior art keywords
preset
time interval
cache
requests
numerical value
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.)
Expired - Fee Related
Application number
CN201210104071.7A
Other languages
English (en)
Other versions
CN102662866A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201210104071.7A priority Critical patent/CN102662866B/zh
Publication of CN102662866A publication Critical patent/CN102662866A/zh
Application granted granted Critical
Publication of CN102662866B publication Critical patent/CN102662866B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明实施例公开了一种文件cache管理方法及内存管理***,用于对页面回收的时间间隔进行调整。本发明实施例方法包括:内存管理***确定预置时间段内接收到的输入输出IO请求的数目、当前的高速缓冲存储器cache命中率、及页面回收的第一时间间隔;判断cache命中率是否小于预置的第一数值;若是,则当IO请求的数目大于预置的第二数值时,则确定页面回收的第二时间间隔等于第一时间间隔减去预置的第一时长;或者,当IO请求的数目小于或等于预置的第三数值时,则确定页面回收的第二时间间隔等于第一时间间隔加上预置的第二时长,能够有效的提高页面回收的灵活性。

Description

一种文件cache管理方法及内存管理***
技术领域
本发明涉及Linux操作***的文件管理技术,尤其涉及一种文件cache管理方法及内存管理***。
背景技术
在Linux操作***中,当应用程序需要读取文件中的数据时,操作***首先会分配一些内存,将数据从存储设备读入到分配的内存中,然后再将这些数据分发给应用程序;当需要往文件中写数据时,操作***先分配内存接收用户数据,然后再将数据从内存写到磁盘上。文件高速缓冲存储器(cache)管理指的就是对由操作***分配并用来存储文件数据的内存的管理。
在Linux操作***中,是以页为高速缓存的单位,***中的内存管理***负责文件cache的分配和回收,也称为页面分配和回收。
目前,内存管理***进行文件cache管理方法主要包括是:周期性的对***内的页面数目进行统计,若统计得到的页面数目大于预置的数值,则执行文件cache管理的操作。
然而,使用周期性的文件cache管理方法,回收间隔固定,灵活性低。
发明内容
本发明实施例提供了一种文件cache管理方法及内存管理***,用于对页面回收的时间间隔进行调整,能够有效的提高页面回收的灵活性。
本发明实施例中的文件cache管理方法包括:内存管理***确定预置时间段内接收到的输入输出IO请求的数目、当前的高速缓冲存储器cache命中率、及页面回收的第一时间间隔;判断cache命中率是否小于预置的第一数值;若是,则当IO请求的数目大于预置的第二数值时,则确定页面回收的第二时间间隔等于第一时间间隔减去预置的第一时长;或者,当IO请求的数目小于或等于预置的第三数值时,则确定页面回收的第二时间间隔等于第一时间间隔加上预置的第二时长。
本发明实施例中的内存管理***包括:第一确定单元,用于确定预置时间段内接收到的输入输出IO请求的数目、当前的高速缓冲存储器cache命中率、及页面回收的第一时间间隔;判断单元,用于在所述确定单元之后判断所述cache命中率是否小于预置的第一数值;第二确定单元,用于若所述判断单元确定所述cache的命中率小于预置的第一数值,则当所述IO请求的数目大于预置的第二数值时,则确定页面回收的第二时间间隔等于所述第一时间间隔减去预置的第一时长;或者,当所述IO请求的数目小于或等于预置的第三数值时,则确定页面回收的第二时间间隔等于所述第一时间间隔加上预置的第二时长。
从以上技术方案可以看出,本发明实施例具有以下优点:
根据cache的命中率、预置时间段内接收到的IO请求的数目、及页面回收的第一时间间隔确定页面回收的第二时间间隔,能够有效的对页面回收的时间间隔进行调整,提高了页面回收的灵活性。
附图说明
图1为本发明实施例中一种文件cache管理方法的一个示意图;
图2为本发明实施例中一种文件cache管理方法的另一示意图;
图3为本发明实施例中内存管理***的一个示意图;
图4为本发明实施例中内存管理***的另一示意图。
具体实施方式
本发明实施例提供了一种文件cache管理方法及内存管理***,用于对页面回收的时间间隔进行调整,有效的提高页面回收的灵活性。
请参阅图1,为本发明实施例中一种文件cache管理方法的实施例,包括:
101、内存管理***确定预置时间段内接收到的IO请求的数目、当前的高速缓冲存储器cache命中率、及页面回收的第一时间间隔;
在本发明实施例中,内存管理***将进行文件cache管理,包括页面分配和回收,内存管理***在执行页面回收的操作时,将确定预置时间段内接收到的输入输出(Input/Output,IO)请求的数目、当前的高速缓冲存储器(cache)命中率,及页面回收的第一时间间隔。
其中,cache命中率是文件cache管理优劣的一个指标,中央处理器(CenterProcessing Unit,CPU)在访问内存时,首先判断需要访问的内容是否在cache中,若在,则称为“命中”,此时CPU可从cache中读取数据,若cache未命中,则需要从磁盘中读取数据,由于cache的存取速度快,使得CPU的利用率大大的提高,因此,cache命中率越高,***性能越好。
102、判断cache命中率是否小于预置的第一数值,若是,则执行步骤103;
在本发明实施例中,内存管理***将判断cache的命中率是否小于预置的第一数值,且将根据判断结果确定对时间间隔的调整方式。
103、当IO请求的数目大于预置的第二数值时,则确定页面回收的第二时间间隔等于第一时间间隔减去预置的第一时长;或者,当IO请求的数目小于或等于预置的第三数值时,则确定页面回收的第二时间间隔等于第一时间间隔加上预置的第二时长。
在本发明实施例中,在cache命中率小于预置的第一数值的情况下,当IO请求的数目大于预置的第二数值时,内存管理***将确定页面回收的第二时间间隔等于第一时间间隔减去预置的第一时长;或者,当IO请求的数目小于或等于预置的第三数值时,内存管理***将确定页面回收的第二时间间隔等于第一时间间隔加上预置的第二时长。
优选的,在cache命中率大于预置的第一数值的情况下,还可执行以下的步骤:
104、确定第二时间间隔等于第一时间间隔。
在本发明实施例中,当cache命中率大于预置的第一数值时,内存管理***可确定第二时间间隔等于第一时间间隔,即时间间隔不变。
需要说明的是,在本发明实施例中,若cache命中率小于预置的第一数值,且IO请求的数目小于或等于预置的第二数值且IO请求的数目大于预置的第三数值,内存管理***将确定第二时间间隔等于第一时间间隔。
需要说明的是,在本发明实施例中,所使用的“第一”、“第二”、“第三”仅用于区分不同的数值。
在本发明实施例中,根据cache命中率及预置时间段内的IO请求的数目,对第一时间间隔进行调整,得到第二时间间隔,能够根据***的状态及负载状态对页面回收的间隔进行调整,有效的提高了页面回收的灵活性。
图1所示实施例描述了内存管理***调整页面回收时间间隔的方法,优选的,在本发明实施例中,为了更好的实现页面回收,内存管理***在调整页面回收间隔之后,还可利用该页面回收间隔进一步的对页面回收的比例进行调整,请参阅图2,为本发明实施例中文件cache管理方法的另一实施例,包括:
201、根据第二时间间隔、cache命中率、及IO请求的数目获得页面回收的比例;
在本发明实施例中,内存管理***将根据第二时间间隔,cache命中率,及IO请求的数目获得页面回收的比例,其中,页面回收的比例是指将要回收的页面的数目与总的页面数目之间的比值。
需要说明的是,内存中并非所有的页面都是可以进行回收的,可回收的页面类型包括:文件读写操作过程中用于缓冲数据的页面,用户地址空间中用于文件内存映射的页面、进程在用户模式下的堆栈或者是使用mmap匿名映射的匿名页面等等。
具体可以为:内存管理***根据cache命中率和IO请求的数目进行判断,若cache命中率小于预置的第四数值,且IO请求的数目大于预置的第五数值,则内存管理***按预置的方式得到页面回收的比例。预置的方式为:
N DP = F ( w 1 × ( 1 - e - T delta T ) + w 2 × u , HitRate )
其中,NDP为页面回收的比例,w1、w2为预置的控制参数,HitRate为所述cache命中率,Tdelta为cache寿命,T为第二时间间隔;
其中, u = a × ( M IO - R ) / M IO , if M IO > R 0 , if M IO ≤ R
其中,a为预置的控制参数,MIO为所述IO请求数目,R为磁盘的最大吞吐量。
需要说明的是,在本发明实施例中,若cache命中率大于预置的第四数值,或者,若cache命中率小于预置的第四数值,且IO请求的数目小于或等于预置的第五数值,则按现有技术确定页面回收的比例,此处不再赘述。
202、按比例回收页面。
在本发明实施例中,内存管理***在得到页面回收的比例之后,将按照比例回收页面。
在Linux操作***中,以页为高速缓存的单位,当进程修改了高速缓存里的数据时,该页将被标记为脏页。
需要说明的是,在本发明实施例中,在若回收的页面中包含脏页,则在对该脏页回收之前,需要将脏页中的数据写入磁盘,以保存。
在本发明实施例中,通过根据第二时间间隔、cache命中率、及IO请求的数目获得页面回收的比例,并按该比例进行页面回收,能够有效的提高页面回收的灵活性。
请参阅图3,为本发明实施例中内存管理***的实施例,包括:
第一确定单元301,用于确定预置时间段内接收到的输入输出IO请求的数目、当前的高速缓冲存储器cache命中率、及页面回收的第一时间间隔;
判断单元302,用于在所述确定单元之后判断所述cache命中率是否小于预置的第一数值;
第二确定单元303,用于若所述判断单元确定所述cache的命中率小于预置的第一数值,则当所述IO请求的数目大于预置的第二数值时,则确定页面回收的第二时间间隔等于所述第一时间间隔减去预置的第一时长;或者,当所述IO请求的数目小于或等于预置的第三数值时,则确定页面回收的第二时间间隔等于所述第一时间间隔加上预置的第二时长。
在本发明实施例中,第一确定单元301确定预置时间段内接收到的输入输出IO请求的数目、当前的高速缓冲存储器cache命中率、及页面回收的第一时间间隔;接着,判断单元302判断所述cache命中率是否小于预置的第一数值;若判断单元302确定所述cache的命中率小于预置的第一数值,则当所述IO请求的数目大于预置的第二数值时,第二确定单元303确定页面回收的第二时间间隔等于所述第一时间间隔减去预置的第一时长;或者,当所述IO请求的数目小于或等于预置的第三数值时,第二确定单元303确定页面回收的第二时间间隔等于所述第一时间间隔加上预置的第二时长。
在本发明实施例中,根据cache命中率及预置时间段内的IO请求的数目,对第一时间间隔进行调整,得到第二时间间隔,能够根据***的状态及负载状态对页面回收的间隔进行调整,有效的提高了页面回收的灵活性。
为了更好的理解本发明实施例中的内存管理***,请参阅图4,为本发明实施例中内存管理***的另一实施例,包括:
如图3所示实施例中的第一确定单元301,判断单元302,第二确定单元303,且与图3所示实施例描述的内容相似,此处不再赘述。
其中,第二确定单元303还用于若所述cache的命中率大于或等于所述预置的第一数值,或者,若所述cache的命中率小于预置的第一数值,且所述IO请求的数目小于或等于所述预置的第二数值且所述IO请求的数目大于所述预置的第三数值时,确定所述第二时间间隔等于所述第一时间间隔。
在本发明实施例中,内存管理***还包括:
获取单元401,用于在所述第二确定单元确定所述第二时间间隔之后,根据所述第二时间间隔、所述cache命中率、及所述IO请求的数目获得页面回收的比例;
回收单元402,用于在所述获取单元确定页面回收的比例之后,按所述比例回收页面。
其中,获取单元401具体用于若所述cache命中率小于预置的第四数值,且所述IO请求的数目大于预置的第五数值,则按预置的方式得到页面回收的比例,所述预置的方式为:
N DP = F ( w 1 × ( 1 - e - T delta T ) + w 2 × u , HitRate )
其中,NDP为页面回收的比例,w1、w2为预置的控制参数,HitRate为所述cache命中率,Tdelta为cache寿命,T为第二时间间隔;
其中, u = a × ( M IO - R ) / M IO , if M IO > R 0 , if M IO ≤ R
其中,a为预置的控制参数,MIO为所述IO请求数目,R为磁盘的最大吞吐量。
在本发明实施例中,第一确定单元301确定预置时间段内接收到的输入输出IO请求的数目、当前的高速缓冲存储器cache命中率、及页面回收的第一时间间隔;接着,判断单元302判断所述cache命中率是否小于预置的第一数值;若判断单元302确定所述cache的命中率小于预置的第一数值,则当所述IO请求的数目大于预置的第二数值时,第二确定单元303确定页面回收的第二时间间隔等于所述第一时间间隔减去预置的第一时长;或者,当所述IO请求的数目小于或等于预置的第三数值时,第二确定单元303确定页面回收的第二时间间隔等于所述第一时间间隔加上预置的第二时长;若所述cache的命中率大于或等于所述预置的第一数值,或者,若所述cache的命中率小于预置的第一数值,且所述IO请求的数目小于或等于所述预置的第二数值且所述IO请求的数目大于所述预置的第三数值时,第二确定单元303确定所述第二时间间隔等于所述第一时间间隔。
在得到第二时间间隔之后,获取单元401将根据所述第二时间间隔、所述cache命中率、及所述IO请求的数目获得页面回收的比例;并由回收单元402按所述比例回收页面。
在本发明实施例中,内存管理***可根据cache命中率及预置时间段内接收到的IO请求的数目对页面回收的时间间隔进行调整,且可根据cache命中率、预置时间段内接收到的IO请求的数目及调整后的时间间隔对页面回收的比例进行调整,有效的提高了页面回收的灵活性,改善***的性能。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上对本发明所提供的一种文件cache管理方法及内存管理***进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (4)

1.一种文件cache管理方法,其特征在于,包括:
内存管理***确定预置时间段内接收到的输入输出IO请求的数目、当前的高速缓冲存储器cache命中率、及页面回收的第一时间间隔;
判断所述cache命中率是否小于预置的第一数值;
若是,则当所述IO请求的数目大于预置的第二数值时,则确定页面回收的第二时间间隔等于所述第一时间间隔减去预置的第一时长;或者,当所述IO请求的数目小于或等于预置的第三数值时,则确定页面回收的第二时间间隔等于所述第一时间间隔加上预置的第二时长;
所述方法还包括:
若所述cache的命中率大于或等于所述预置的第一数值,或者,若所述cache的命中率小于预置的第一数值,且所述IO请求的数目小于或等于所述预置的第二数值且所述IO请求的数目大于所述预置的第三数值时,确定所述第二时间间隔等于所述第一时间间隔。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述第二时间间隔、所述cache命中率、及所述IO请求的数目获得页面回收的比例;
按所述比例回收页面。
3.一种内存管理***,包括:
第一确定单元,用于确定预置时间段内接收到的输入输出IO请求的数目、当前的高速缓冲存储器cache命中率、及页面回收的第一时间间隔;
判断单元,用于在所述确定单元之后判断所述cache命中率是否小于预置的第一数值;
第二确定单元,用于若所述判断单元确定所述cache的命中率小于预置的第一数值,则当所述IO请求的数目大于预置的第二数值时,则确定页面回收的第二时间间隔等于所述第一时间间隔减去预置的第一时长;或者,当所述IO请求的数目小于或等于预置的第三数值时,则确定页面回收的第二时间间隔等于所述第一时间间隔加上预置的第二时长;
所述第二确定单元还用于若所述cache的命中率大于或等于所述预置的第一数值,或者,若所述cache的命中率小于预置的第一数值,且所述IO请求的数目小于或等于所述预置的第二数值且所述IO请求的数目大于所述预置的第三数值时,确定所述第二时间间隔等于所述第一时间间隔。
4.根据权利要求3所述的内存管理***,其特征在于,所述内存管理***还包括:
获取单元,用于在所述第二确定单元确定所述第二时间间隔之后,根据所述第二时间间隔、所述cache命中率、及所述IO请求的数目获得页面回收的比例;
回收单元,用于在所述获取单元确定页面回收的比例之后,按所述比例回收页面。
CN201210104071.7A 2012-04-09 2012-04-09 一种文件cache管理方法及内存管理*** Expired - Fee Related CN102662866B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210104071.7A CN102662866B (zh) 2012-04-09 2012-04-09 一种文件cache管理方法及内存管理***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210104071.7A CN102662866B (zh) 2012-04-09 2012-04-09 一种文件cache管理方法及内存管理***

Publications (2)

Publication Number Publication Date
CN102662866A CN102662866A (zh) 2012-09-12
CN102662866B true CN102662866B (zh) 2015-03-25

Family

ID=46772362

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210104071.7A Expired - Fee Related CN102662866B (zh) 2012-04-09 2012-04-09 一种文件cache管理方法及内存管理***

Country Status (1)

Country Link
CN (1) CN102662866B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105159777B (zh) * 2015-08-03 2018-07-27 中科创达软件股份有限公司 进程的内存回收方法及装置
CN113326214B (zh) * 2021-06-16 2023-06-16 统信软件技术有限公司 一种页缓存管理方法、计算设备及可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101018150A (zh) * 2006-02-09 2007-08-15 中兴通讯股份有限公司 一种电信设备性能数据采集的方法及***
CN101242338A (zh) * 2008-03-10 2008-08-13 清华大学 P2p实时流媒体缓存替换的时间权参数自适应调整方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101615143B (zh) * 2008-06-27 2013-04-17 国际商业机器公司 用于内存泄漏诊断的方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101018150A (zh) * 2006-02-09 2007-08-15 中兴通讯股份有限公司 一种电信设备性能数据采集的方法及***
CN101242338A (zh) * 2008-03-10 2008-08-13 清华大学 P2p实时流媒体缓存替换的时间权参数自适应调整方法

Also Published As

Publication number Publication date
CN102662866A (zh) 2012-09-12

Similar Documents

Publication Publication Date Title
US11200160B2 (en) Data processing method and apparatus, and flash device
CN106681934B (zh) 一种存储设备垃圾回收的方法及设备
CN109783004B (zh) 数据储存装置与存储器装置的数据处理方法
US8423710B1 (en) Sequential writes to flash memory
US20150378888A1 (en) Controller, flash memory apparatus, and method for writing data into flash memory apparatus
US20150317246A1 (en) Memory Reclamation Method and Apparatus
US8909895B2 (en) Memory apparatus
US20120030413A1 (en) Memory management device, information processing device, and memory management method
US10203899B2 (en) Method for writing data into flash memory apparatus, flash memory apparatus, and storage system
CN110362275B (zh) 提升固态硬盘服务质量的方法及固态硬盘
EP1560224A2 (en) Data recovery apparatus and method used for flash memory
CN108228449B (zh) 终端设备控制方法及装置、终端设备及计算机可读存储介质
CN105094709A (zh) 一种固态盘存储***的动态数据压缩方法
EP2919120A1 (en) Memory monitoring method and related device
CN102799390B (zh) 能耗感知的协同式自适应预取方法和装置
CN111880723A (zh) 数据储存装置与数据处理方法
CN109144428B (zh) 一种应用于固态硬盘的垃圾回收方法、设备及介质
CN104375944B (zh) 一种数据存储方法和装置
CN102662866B (zh) 一种文件cache管理方法及内存管理***
CN109815166B (zh) 一种存储数据的动态回收处理方法及存储装置
CN102722456B (zh) 闪存存储设备的数据写入方法和闪存存储设备
CN102779098B (zh) 混合缓存的协同式自适应预取方法、装置和***
EP2630574A1 (en) Improving storage lifetime using data swapping
US9959060B1 (en) Data separation during host write with storage allocated based on traffic profiles
CN111435403A (zh) 一种闪存***的磨损均衡方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150325

Termination date: 20200409

CF01 Termination of patent right due to non-payment of annual fee