CN102662866A - 一种文件cache管理方法及内存管理系统 - Google Patents
一种文件cache管理方法及内存管理系统 Download PDFInfo
- Publication number
- CN102662866A CN102662866A CN2012101040717A CN201210104071A CN102662866A CN 102662866 A CN102662866 A CN 102662866A CN 2012101040717 A CN2012101040717 A CN 2012101040717A CN 201210104071 A CN201210104071 A CN 201210104071A CN 102662866 A CN102662866 A CN 102662866A
- Authority
- CN
- China
- Prior art keywords
- presets
- cache
- page
- request
- hit rate
- 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.)
- Granted
Links
Images
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 (8)
1.一种文件cache管理方法,其特征在于,包括:
内存管理系统确定预置时间段内接收到的输入输出IO请求的数目、当前的高速缓冲存储器cache命中率、及页面回收的第一时间间隔;
判断所述cache命中率是否小于预置的第一数值;
若是,则当所述IO请求的数目大于预置的第二数值时,则确定页面回收的第二时间间隔等于所述第一时间间隔减去预置的第一时长;或者,当所述IO请求的数目小于或等于预置的第三数值时,则确定页面回收的第二时间间隔等于所述第一时间间隔加上预置的第二时长。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述cache的命中率大于或等于所述预置的第一数值,或者,若所述cache的命中率小于预置的第一数值,且所述IO请求的数目小于或等于所述预置的第二数值且所述IO请求的数目大于所述预置的第三数值时,确定所述第二时间间隔等于所述第一时间间隔。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
根据所述第二时间间隔、所述cache命中率、及所述IO请求的数目获得页面回收的比例;
按所述比例回收页面。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第二时间间隔、所述cache命中率及获取的cache寿命获得页面回收的比例包括:
若所述cache命中率小于预置的第四数值,且所述IO请求的数目大于预置的第五数值,则按预置的方式得到页面回收的比例,所述预置的方式为:
其中,NDP为页面回收的比例,w1、w2为预置的控制参数,HitRate为所述cache命中率,Tdelta为cache寿命,T为第二时间间隔;
其中,
其中,a为预置的控制参数,MIO为所述IO请求数目,R为磁盘的最大吞吐量。
5.一种内存管理系统,包括:
第一确定单元,用于确定预置时间段内接收到的输入输出IO请求的数目、当前的高速缓冲存储器cache命中率、及页面回收的第一时间间隔;
判断单元,用于在所述确定单元之后判断所述cache命中率是否小于预置的第一数值;
第二确定单元,用于若所述判断单元确定所述cache的命中率小于预置的第一数值,则当所述IO请求的数目大于预置的第二数值时,则确定页面回收的第二时间间隔等于所述第一时间间隔减去预置的第一时长;或者,当所述IO请求的数目小于或等于预置的第三数值时,则确定页面回收的第二时间间隔等于所述第一时间间隔加上预置的第二时长。
6.根据权利要求5所述的内存管理系统,其特征在于,所述第二确定单元还用于若所述cache的命中率大于或等于所述预置的第一数值,或者,若所述cache的命中率小于预置的第一数值,且所述IO请求的数目小于或等于所述预置的第二数值且所述IO请求的数目大于所述预置的第三数值时,确定所述第二时间间隔等于所述第一时间间隔。
7.根据权利要求5或6所述的内存管理系统,其特征在于,所述内存管理系统还包括:
获取单元,用于在所述第二确定单元确定所述第二时间间隔之后,根据所述第二时间间隔、所述cache命中率、及所述IO请求的数目获得页面回收的比例;
回收单元,用于在所述获取单元确定页面回收的比例之后,按所述比例回收页面。
8.根据权利要求7所述的内存管理系统,其特征在于,所述获取单元具体用于若所述cache命中率小于预置的第四数值,且所述IO请求的数目大于预置的第五数值,则按预置的方式得到页面回收的比例,所述预置的方式为:
其中,NDP为页面回收的比例,w1、w2为预置的控制参数,HitRate为所述cache命中率,Tdelta为cache寿命,T为第二时间间隔;
其中,
其中,a为预置的控制参数,MIO为所述IO请求数目,R为磁盘的最大吞吐量。
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 true CN102662866A (zh) | 2012-09-12 |
CN102662866B 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) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105159777A (zh) * | 2015-08-03 | 2015-12-16 | 中科创达软件股份有限公司 | 进程的内存回收方法及装置 |
CN113326214A (zh) * | 2021-06-16 | 2021-08-31 | 统信软件技术有限公司 | 一种页缓存管理方法、计算设备及可读存储介质 |
Citations (3)
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实时流媒体缓存替换的时间权参数自适应调整方法 |
US20090328007A1 (en) * | 2008-06-27 | 2009-12-31 | International Business Machines Corporation | Memory leak diagnosis |
-
2012
- 2012-04-09 CN CN201210104071.7A patent/CN102662866B/zh not_active Expired - Fee Related
Patent Citations (3)
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实时流媒体缓存替换的时间权参数自适应调整方法 |
US20090328007A1 (en) * | 2008-06-27 | 2009-12-31 | International Business Machines Corporation | Memory leak diagnosis |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105159777A (zh) * | 2015-08-03 | 2015-12-16 | 中科创达软件股份有限公司 | 进程的内存回收方法及装置 |
CN105159777B (zh) * | 2015-08-03 | 2018-07-27 | 中科创达软件股份有限公司 | 进程的内存回收方法及装置 |
CN113326214A (zh) * | 2021-06-16 | 2021-08-31 | 统信软件技术有限公司 | 一种页缓存管理方法、计算设备及可读存储介质 |
CN113326214B (zh) * | 2021-06-16 | 2023-06-16 | 统信软件技术有限公司 | 一种页缓存管理方法、计算设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102662866B (zh) | 2015-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11960393B2 (en) | Data processing method and apparatus, and flash device | |
US10048872B2 (en) | Control of storage of data in a hybrid storage system | |
US9448905B2 (en) | Monitoring and control of storage device based on host-specified quality condition | |
CN102760101A (zh) | 一种基于ssd 的缓存管理方法及系统 | |
CN101526923A (zh) | 一种数据处理方法、装置和闪存存储系统 | |
CA2511304C (en) | Dual journaling store method and storage medium thereof | |
CN101981555A (zh) | 用于多级缓存利用的设备和方法 | |
KR20110110720A (ko) | 고체 상태 드라이브에서의 웨어 레벨링을 위한 방법 및 시스템 | |
CN103440207A (zh) | 缓存方法及装置 | |
CN101788995A (zh) | 一种热点数据识别方法及装置 | |
US10514848B2 (en) | Data storage method for selectively storing data in a buffer preset in a memory of an electronic device or an inherent buffer in an SSD | |
CN104156323B (zh) | 一种高速缓冲存储器的数据块长度自适应读取方法及装置 | |
CN102122303A (zh) | 一种进行数据迁移的方法及服务系统及服务器设备 | |
CN104092670A (zh) | 网络缓存服务器处理文件的方法及处理缓存文件的设备 | |
CN105980992A (zh) | 一种控制器、闪存装置、识别数据块稳定性的方法以及在闪存装置中存储数据的方法 | |
CN107729535A (zh) | 一种键值数据库内布隆过滤器的配置方法 | |
CN104268099A (zh) | 一种管理数据读写的方法及装置 | |
US20200159444A1 (en) | Storage device throttling amount of communicated data depending on suspension frequency of operation | |
CN116303590A (zh) | 一种缓存数据访问方法、装置、设备以及存储介质 | |
US9524236B1 (en) | Systems and methods for performing memory management based on data access properties | |
CN104156173A (zh) | 一种实现磁盘碎片整理的方法及装置 | |
US10713159B2 (en) | Semiconductor device for managing wear leveling operation of a nonvolatile memory device | |
CN106257432B (zh) | 数据储存设备及其操作方法 | |
CN102662866A (zh) | 一种文件cache管理方法及内存管理系统 | |
CN103294609A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150325 Termination date: 20200409 |