发明内容
本发明提供了一种***资源配置方法,能够解决***资源过载的问题。
本发明还提供了一种***资源配置设备,能够解决***资源过载的问题。
本发明的技术方案是这样实现的:
一种***资源配置方法,包括:
判断***资源的空闲率是否小于预先设定的门限,如果小于,则查找占用***资源过多的非关键进程,根据进程的关键级别、***运行对进程的依赖程度、进程对用户的重要性、进程的可靠程度或用户是否当前正在操作该进程为所述进程打分;
当进程的分数接近或等于最大值时,如果***资源的空闲率大于0%,则保持该进程的优先级;否则,降低该进程的优先级;
当进程的分数接近中等值时,降低该进程的优先级;
当进程的分数接近或等于最小值时,提示终止该进程。
上述方法中,非关键进程为除***运行所必须调用的进程以外的进程。
一种***资源配置设备,包括:
查找模块,用于判断***资源的空闲率是否小于预先设定的门限,如果小于,则查找占用***资源过多的非关键进程,并指示智能模块为查找到的进程打分;
智能模块,用于根据进程的关键级别、***运行对进程的依赖程度、进程对用户的重要性、进程的可靠程度或用户是否当前正在操作该进程为所述查找模块查找到的进程打分;
调整模块,用于当进程的分数接近或等于最大值时,如果***资源的空闲率大于0%,则保持该进程的优先级;否则,降低该进程的优先级;当进程的分数接近中等值时,降低该进程的优先级;当进程的分数接近或等于最小值时,提示终止该进程。
上述设备中,查找模块查找的非关键进程为除***运行所必须调用的进程以外的进程。
可见,本发明提出的***资源配置方法和设备,当监控到***资源紧张时,找出占用***资源过多的非关键进程,对该非关键进程进行打分并调整优先级,从而释放部分进程所占用的***资源,解决***资源过载的问题。
具体实施方式
本发明提出一种***资源配置方法,如图1为本发明提出的方法流程图,包括:
步骤101:判断***资源的空闲率是否小于预先设定的门限,如果小于,则执行步骤102;
步骤102:查找占用***资源过多的非关键进程,为所述进程打分;
步骤103:根据所述进程的分数及***资源的空闲率调整所述进程的优先级。
以下举具体的实施例详细介绍。
如图2为本发明实施例配置***资源的实现流程图,该实施例包括以下步骤:
步骤201:监控***资源的占用情况,判断***资源的空闲率是否小于预先设定的门限,如果小于,则执行步骤202;如果不小于,说明***资源还很充裕,不需要做任何调整。
该门限可以设置为50%,当***资源(如CPU、内存空间等)的空闲率不小于50%时,不需要做调整,针对不同应用场景需要设置不同的门限值。将50%作为门限值仅为一种举例,该门限值可以根据具体情况进行设置,例如,根据多核CPU的核数以及CPU的技术架构进行技术分析,如多核CPU中某个核的***资源占用率为100%的情况也是不正常的。
步骤202:查找占用***资源过多的进程。
步骤203:判断该进程是否为***关键进程,如果是非关键进程,则将该进程交给智能模块进行分析。
其中,关键进程是指***运行所必须调用的进程,主要通过程序的MD5值、程序位置及名称、程序的数字签名等方式判断;对于杀毒软件等安全类软件,则主要通过人工安装后收集的特征值(包括特征签名、文件名路径等)进行判断。例如,针对Windows***,主要看该进程是否具备Microsoft签名,可以从原始的Windows***进程列表中查找到的进程是关键进程。关键进程一般稳定可靠,不会占用太多***资源。
步骤204:智能模块分析该进程,并为该进程打分。
具体地,智能模块可以分析该进程的出品公司、软件分类(如杀毒、IM聊天)、软件功能(如后台扫描进程、前台进程),然后综合这个进程的关键级别(如显卡、声卡等驱动进程)、***对其依赖程度(如杀毒、防火墙进程)、该进程对用户的重要性(如word、QQ等保留有用户信息的进程)、该进程的可靠程度(如有无版本信息、有无数字签名、软件发布时间及对新***的兼容性)、用户是否当前正在操作(通过GtforeGoundWndow等API获取))等条件,为该进程给出一个相应的分数;分数可以采用100分制,1分为最低,100分为最高。
之后,就可以根据进程的分数和***当前的资源消耗情况动态调整该进程的优先级。例如,对于***关键进程,不要调整其优先级;对于安全软件、驱动软件等分数很高的软件,综合考虑***当前资源消耗后,尽量不进行处理(除非***CPU、内存占用都达到了100%的情况);对于word、QQ等用户前台进程,只能适当降低其优先级;对于分数过低、占用***资源过于严重的进程,直接提示建议用户终止该进程。
本发明可以在每次监控到***资源空闲率小于预先设定的门限时重新评估***资源占用情况,为每个进程都重新打分;或者只对新打开的进程打分。或者,本发明可以每隔一段固定的时间即对所有的进程重新打分,或每增加固定数目的进程即对所有的进程重新打分,采用这种优选的方式,可以减轻频繁打分对***造成的负担。
另外,在某些场景下,用户专注于某个或某些特定的进程(例如游戏进程或视频播放进程)。此时,可以将用户关注的进程设置为高优先级;同时,在不影响***稳定性的前提下,将其他非用户关注的进程设置为低优先级,使其占用的***资源越低越好。当这种场景发生变化时,需要恢复各进程初始的优先级。
每个进程都有相应的优先级,优先级决定其何时运行和接收多少CPU时间。进程的优先级共32级,可以采用数值0至31表示,数值为0表示优先级最低、数值为31表示优先级最高,该优先级也可以称为基本优先级别(base prioritylevel)。***按照不同的优先级调度进程的运行。0-15级是普通优先级,进程的优先级可以动态变化,高优先级进程优先运行,只有高优先级进程不运行时,才调度低优先级进程运行;优先级相同的进程按照时间片轮流运行。16-31级是实时优先级,实时优先级与普通优先级的最大区别在于相同优先级进程的运行不按照时间片轮转,而是先运行的进程就先控制CPU,如果该进程不主动放弃对CPU的控制,同级或低优先级的进程就无法运行。
以下步骤205-212介绍按照进程的分数和***资源的消耗情况调整进程优先级的一种具体方式,本发明还可以采用其他的方式进行调整,具体方式依实际情况而定。
步骤205:判断进程的分数是否高于90,如果是,则不调整该进程的优先级;否则,执行步骤206;
步骤206:判断该进程的分数是否高于80,如果是,则执行步骤207;否则,执行步骤208;
步骤207:判断***资源空闲率是否大于10%,如果是,则不调整该进程的优先级;否则,降低该进程的优先级,并保证该进程的优先级不低于10,结束对当前进程的调整;
步骤208:判断该进程的分数是否高于70,如果是,则执行步骤209;否则,执行步骤210;
步骤209:判断***资源空闲率是否大于30%,如果是,则不调整该进程的优先级;否则,降低该进程的优先级,并保证该进程的优先级不低于10,结束对当前进程的调整;
步骤210:判断该进程的分数是否高于30,如果是,则降低该进程的优先级,并保证该进程的优先级不低于5,结束对当前进程的调整;否则,执行步骤211;
步骤211:判断该进程的分数是否高于10,如果是,则将该进程的优先级降低至0,结束对当前进程的调整;否则,执行步骤212;
步骤212:判断***资源空闲率是否小于10%,如果是,则提示用户终止该进程。
相应地,本发明还提出一种***资源配置设备,如图3为该设备的结构示意图,该设备包括:
查找模块301,用于判断***资源的空闲率是否小于预先设定的门限,如果小于,如果小于,则查找占用***资源过多的非关键进程,并指示智能模块为查找到的进程打分;
智能模块302,用于为所述查找模块301查找到的进程打分;
调整模块303,用于根据所述智能模块302为进程打出的分数及***资源的空闲率调整该进程的优先级。
上述***中,查找模块301查找的非关键进程为除***运行所必须调用的进程以外的进程。
上述智能模块302可以具体用于根据进程的关键级别、***运行对进程的依赖程度、进程对用户的重要性、进程的可靠程度或用户是否当前正在操作该进程进行打分。
上述调整模块303根据进程的分数及***资源的空闲率调整进程的优先级的方式可以为:
当进程的分数接近或等于最大值时,如果***资源的空闲率大于0%,则保持该进程的优先级;否则,降低该进程的优先级;
当进程的分数接近中等值时,降低该进程的优先级;
当进程的分数接近或等于最小值时,提示终止该进程。
综上可见,本发明提出的***资源配置方法和设备,当监控到***资源紧张时,可以找出占用***资源过多的非关键进程,对这些进程进行打分并调整优先级,从而释放部分进程所占用的***资源,解决***资源过载的问题。本发明可以适用但不限于Windows***的各个版本。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。