计算机程序内存动态配置方法技术

技术编号:7440167 阅读:261 留言:0更新日期:2012-06-16 09:02
本发明专利技术涉及计算机程序内存配置方法。本发明专利技术针对现有技术内存配置方法不灵活,不能适应系统环境变化的缺点,公开了一种计算机系统内存动态配置方法。本发明专利技术的技术方案是,计算机程序内存动态配置方法。其通过定期检测外界环境的变化,调整程序运行时内存使用限制值,能够随时适应环境变化,避免由于外界环境变化而产生的内存配置不适当的情况。本发明专利技术统计了长期执行过程中的环境与程序运行状况的对应关系,能够明确本程序在不同环境下的最佳运行条件。随着运行时间的延长,列表中记录和统计的数据就越全面,以这个统计列表为基础的执行策略随着时间的推移,会变得更加智能。本发明专利技术用于计算机内存的智能配置,可以提高程序运行效率。

【技术实现步骤摘要】

本专利技术涉及计算机程序内存配置方法,特别涉及一种根据计算机系统当前环境进行内存动态配置的方法。
技术介绍
计算机内存是指CPU能够直接访问的存储器,如R0M(只读存储器)、RAM(随机读写存储器)、SDRAM(静态随机读写存储器)等。内存作为计算机快速读写数据的存储设备, 在计算机程序中应用广泛。与其他外置存储设备(如磁盘、移动存储设备等)相比,内存的主要优势为,读写数据高于磁盘或其他10(输入输出)设备读写速度上千倍,内存的主要缺点为,价格相对昂贵,且断电之后数据通常会丢失。应用程序使用内存来缓存IO外设上的数据,让程序运行时能够直接访问内存,避免额外的IO开销,达到大幅度提高程序运行速度的目的。例如系统对文件缓存的管理,具体包括WINDOWS的FAT和NTFS文件系统,或LINUX和EXT2文件系统等。这些文件系统通过缓存文件的数据到内存中,让下一次该文件的访问或修改操作直接在内存中完成。由于计算机系统不可能配置太多的内存,系统对各种应用程序运行时的内存资源都有一定限制, 可以是先进先出(FIFO)或最后使用最佳(LRU)等内存数据块管理方式,确定内存使用限制值F,保证准确限制内存的最大使用量。例如杀毒软件缓存病毒库特征码,让病毒文件扫描时,特征码的匹配在内存中进行。这些特定的内存管理方法,根据内存的最大限制,优先缓存最频繁访问的数据,优先释放使用最遥远的数据。这些特定的管理方法存在以下两个缺点1、无法即时响应环境变化,当用户的机器和环境动态发生变化时,这种管理方法不适应这个运行环境。如内存大量被消耗,CPU资源紧张时,这种方法会导致程序或者整个系统的性能全面降低。当过度空闲资源出现时,这种方法又因为最大限制,不能实时地扩大内存使用量,更优秀的发挥系统的性能,浪费用户的时间;2、这种同一个管理方法应用在众多不同系统和环境中,如常见的文件系统缓存机制,对于大多数环境而言,这种方法兼顾了平均状况,但是对每一个系统和环境来说,这种方法的内存配置都不是最优。
技术实现思路
本专利技术所要解决的技术问题,就是针对现有技术内存配置方法不灵活,不能适应系统环境变化的缺点,提供一种计算机系统内存动态配置方法。本专利技术解决所述技术问题,采用的技术方案是,,其特征在于,包括以下步骤a、创建列表L,记录程序运行时在不同系统资源W条件下,内存使用限制值F和数据访问速率H;b、获取当前系统W、F和H值填入所述列表L ;C、在列表L中搜索W值与当前系统W值相近的记录项,把这些记录项记录到一个新的列表L'中;d、在列表L'中根据H值进行排序,取H值最大的记录项,并获取该记录项的F值;e、根据步骤d获取的F值来设置当前程序的F值,清空列表L';f、间隔周期T,重复步骤b f。本专利技术定期检测外界环境的变化,并调整程序运行时内存使用限制值,能够随时适应环境变化,避免由于外界环境变化而产生的内存配置不适当的情况。本专利技术统计了长期执行过程中的环境与程序运行状况的对应关系,能够明确本程序在不同环境下的最佳运行条件。随着运行时间的延长,列表L中记录和统计的数据就越全面,以这个统计列表为基础的执行策略随着时间的推移,会变得更加智能。本专利技术为当前环境量身定制内存配置方法,比其他通用的方案在当前环境下更加优秀。列表L中预先填入的经验数据,可以作为前几次搜索时建议性数据。这些经验数据,作为初始时,在不同系统资源W条件下,建议的内存使用限制值。系统资源 W 可以通过系统提供的 API (Application Programming Interface)函数或服务获取。本专利技术的系统资源W可以是一个广义的概念,既可以是某个系统参数,又可以是某些系统参数的组合,如以百分比表示的空闲内存比、CPU占用率等。数据访问速率 H可以根据程序自身功能逻辑的运行,统计程序对数据的有效访问量,获取当前系统数据访问速率H。内存使用限制值F通常当前运行程序的设定获得。这些系统参数都可以采用本领域常用手段获得。具体的,所述W值相近的记录项是指W值相差范围在士3% 士20%之间的记录项。根据不同的匹配要求选择W值相差范围,相差范围越小,匹配精度越高。通常选择的W值相差范围为士 10%。进一步的,如果存在系统资源W由最小值Wmin向最大值Wmax变化时,内存使用限制值F对应由最小值Fmin变化至最大值Fmax的关系,则所述步骤a具体为将系统资源W 由最小值Wmin至最大值Wmax分为η个等级,将内存使用限制值F由最小值Fmin至最大值 Fmax分为η个等级,两者一一对应,并分别记录每个等级对应的程序运行时的数据访问速率H,其中,η > 2。对于与内存使用限制值F正相关的系统资源W,如空闲内存比、CPU占用率,其通常的表述为百分比。当系统资源W为最小值Wmin = 0%时,表示系统资源最紧张,最不利于程序运行,此时的内存使用限制值F对应为最小值Fmin,表示程序运行可用内存最小。当系统资源W为最大值Wmax = 100%时,表示系统资源富余,最有利于程序运行,此时的内存使用限制值F对应为最大值Fmax,表示程序运行可用内存最大。进一步的,如果存在系统资源W由最小值Wmin向最大值Wmax变化时,内存使用限制值F对应由最大值Fmax变化至最小值Fmin的关系,则所述步骤a具体为将系统资源W 由最小值Wmin至最大值Wmax分为η个等级,将内存使用限制值F由最大值Fmax至最小值 Fmin分为η个等级,两者一一对应,并分别记录每个等级对应的程序运行时的数据访问速率H,其中,η > 2。这是系统资源W与内存使用限制值F为负相关的情况,如系统的IO吞吐量(输入输出吞吐量)。当系统资源W为最小值Wmin时,表示系统资源最富余,最有利于程序运行,此时的内存使用限制值F对应为最大值Fmax,表示程序运行可用内存最大。当系统资源W 为最大值Wmax时,表示系统资源紧张,最不利于程序运行,此时的内存使用限制值F对应为最小值Fmin,表示程序运行可用内存最小。具体的,η个等级之间间距相等。这是最简单的等级划分方法,即等分的方法。当然也可以根据情况采用线性递增或线性递减的等级划分方法,以适应不同的系统资源和运行环境。更具体的,η = 10。η的取值越大,越有利于获得更恰当的内存使用限制值F,但也会增加资源耗费。 通常将等级分成10等分比较合适。本专利技术的有益效果是,能够根据每次不同环境的执行情况,调整自身执行的条件, 并根据以前的历史记录来决定当前的执行限制,更易于获得当前最佳的执行条件,本专利技术既兼顾了平均环境条件,更能够适应环境条件的变化,充分发挥系统性能优势。附图说明图la、图Ib是缓存数据块序列状态示意图2是缓存数据块饱和限制状态示意图3是实施例的流程图。具体实施方式下面结合附图及实施例,详细描述本专利技术的技术方案。本专利技术的计算机系统内存动态配置方法,可以用于常见的系统程序和服务程序中,可以用于系统中的内存管理策略,适用于无人值守的后台程序中。本专利技术可以实际应用于备份还原软件自动备份的备份策略中,能够实用于连续备份的备份策略中,能够在杀毒软件的定期扫描策略中发挥作用。该方法还可以作为一种信息搜集的手段,在不同环境和条件下进行的数据搜集,为统计和分析数据提供物质基础,为得出实际结论提供本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:廖兰君
申请(专利权)人:成都易我科技开发有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术