CN102662866B - 一种文件cache管理方法及内存管理*** - Google Patents
一种文件cache管理方法及内存管理*** Download PDFInfo
- 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
Links
- 238000007726 management method Methods 0.000 title claims abstract description 57
- 230000015654 memory Effects 0.000 title claims abstract description 53
- 238000000034 method Methods 0.000 claims abstract description 10
- 238000011084 recovery Methods 0.000 claims description 48
- 238000004064 recycling Methods 0.000 claims description 11
- 238000010586 diagram Methods 0.000 description 4
- 230000003139 buffering effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明实施例公开了一种文件cache管理方法及内存管理***,用于对页面回收的时间间隔进行调整。本发明实施例方法包括:内存管理***确定预置时间段内接收到的输入输出IO请求的数目、当前的高速缓冲存储器cache命中率、及页面回收的第一时间间隔;判断cache命中率是否小于预置的第一数值;若是,则当IO请求的数目大于预置的第二数值时,则确定页面回收的第二时间间隔等于第一时间间隔减去预置的第一时长;或者,当IO请求的数目小于或等于预置的第三数值时,则确定页面回收的第二时间间隔等于第一时间间隔加上预置的第二时长,能够有效的提高页面回收的灵活性。
Description
技术领域
本发明涉及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请求的数目大于预置的第五数值,则内存管理***按预置的方式得到页面回收的比例。预置的方式为:
其中,NDP为页面回收的比例,w1、w2为预置的控制参数,HitRate为所述cache命中率,Tdelta为cache寿命,T为第二时间间隔;
其中,
其中,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请求的数目大于预置的第五数值,则按预置的方式得到页面回收的比例,所述预置的方式为:
其中,NDP为页面回收的比例,w1、w2为预置的控制参数,HitRate为所述cache命中率,Tdelta为cache寿命,T为第二时间间隔;
其中,
其中,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请求的数目获得页面回收的比例;
回收单元,用于在所述获取单元确定页面回收的比例之后,按所述比例回收页面。
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)
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101615143B (zh) * | 2008-06-27 | 2013-04-17 | 国际商业机器公司 | 用于内存泄漏诊断的方法和装置 |
-
2012
- 2012-04-09 CN CN201210104071.7A patent/CN102662866B/zh not_active Expired - Fee Related
Patent Citations (2)
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 |