自动调节CPU负载的方法、存储介质及终端设备技术

技术编号:19964033 阅读:39 留言:0更新日期:2019-01-03 12:43
本发明专利技术公开了一种自动调节CPU负载的方法,包括:对进程进行监控;当所述进程被唤醒时,启动进程计时器开始计时;每隔预设的时间间隔检测所述进程计时器的值;根据所述进程计时器的值和预设的第一次数调整规则调整软中断处理进程的循环执行次数;当所述进程响应结束时,关闭所述进程计时器并将所述进程计时器的值置为0。相应的,本发明专利技术还公开了一种计算机可读存储介质及终端设备。采用本发明专利技术的技术方案能够解决网络流量较大时进程无法及时获得CPU资源的问题,实现CPU负载的自动调节。

Method, Storage Medium and Terminal Equipment of Auto-regulating CPU Load

The invention discloses a method for automatically adjusting CPU load, which includes: monitoring the process; starting the process timer to start timing when the process is awakened; detecting the value of the process timer every preset time interval; adjusting the cycle execution times of the soft interrupt processing process according to the value of the process timer and the preset first time adjustment rule; and adjusting the cycle execution times of the soft interrupt processing process when the process is awakened. At the end of the process response, the process timer is closed and the value of the process timer is set to zero. Accordingly, the invention also discloses a computer readable storage medium and a terminal device. The technical scheme of the invention can solve the problem that the process can not obtain the CPU resources in time when the network traffic is large, and realize the automatic adjustment of the CPU load.

【技术实现步骤摘要】
自动调节CPU负载的方法、存储介质及终端设备
本专利技术涉及计算机网络
,尤其涉及一种自动调节CPU负载的方法、计算机可读存储介质及终端设备。
技术介绍
在大数据流量造成网络设备的CPU高负载时,进程可能会因长时间获取不到CPU资源而无法正常响应,导致进程的相应功能失效,例如,设备用于WAN口拨号的PPPoE进程无法及时响应server的LCPrequest报文,导致链路心跳超时,使WAN口断线。在传统路由器中,当网络流量较大导致CPU高负载时,用户可以通过配置TC(TrafficControl,流量控制)或者QoS(QualityofService,服务质量)的方法降低网络的整体流量,从而降低CPU的负载;其中,TC主要指网络流量控制,是一种利用软件或硬件方式来实现对计算机网络流量的控制,从而延缓部分或所有数据包,使之符合用户所需的网络交通规则以及速率限制的一种主要形式;QoS指一个网络能够利用各种基础技术,为指定的网络通信提供更好的服务的能力,是网络的一种安全机制,也是用来解决网络延迟和阻塞等问题的一种技术。TC和QoS提供不同的服务模型和流量控制算法,能很好地根据配置的规则限制网络中指定或者全部的流量,从而调节CPU负载,但是,TC和QoS只针对配置的规则生效,用户需求需要通过规则进行表达,而且规则通常都是用户手动配置,配置过程比较复杂。
技术实现思路
本专利技术实施例所要解决的技术问题在于,提供一种自动调节CPU负载的方法、计算机可读存储介质及终端设备,能够解决网络流量较大时进程无法及时获得CPU资源的问题,实现CPU负载的自动调节。为了解决上述技术问题,本专利技术实施例提供了一种自动调节CPU负载的方法,包括:对进程进行监控;当所述进程被唤醒时,启动进程计时器开始计时;每隔预设的时间间隔检测所述进程计时器的值;根据所述进程计时器的值和预设的第一次数调整规则调整软中断处理进程的循环执行次数;当所述进程响应结束时,关闭所述进程计时器并将所述进程计时器的值置为0。进一步地,所述根据所述进程计时器的值和预设的第一次数调整规则调整软中断处理进程的循环执行次数,具体包括:当所述进程计时器的值大于预设的时间阈值时,判断所述软中断处理进程的当前循环执行次数是否为1;当所述软中断处理进程的当前循环执行次数不为1时,根据所述第一次数调整规则减少所述软中断处理进程的循环执行次数。进一步地,所述第一次数调整规则为N=N’/2;其中,N表示调整后的循环执行次数,且1≤N≤Nmax;N’表示当前循环执行次数,且1≤N’≤Nmax;Nmax表示最大循环执行次数。进一步地,所述方法还包括:当检测到所述进程计时器的值为0时,根据预设的第二次数调整规则增加所述软中断处理进程的循环执行次数。进一步地,所述第二次数调整规则为N=N’+1;其中,N表示调整后的循环执行次数,且1≤N≤Nmax;N’表示当前循环执行次数,且1≤N’≤Nmax;Nmax表示最大循环执行次数。进一步地,所述方法还包括:当所述软中断处理进程的当前循环执行次数为1时,根据预设的第一丢包率调整规则调整丢包率;根据预设的丢包规则确定丢包种类和丢包数量;根据调整后的丢包率、确定的丢包种类和丢包数量进行丢包处理。进一步地,所述当所述软中断处理进程的当前循环执行次数为1时,根据预设的第一丢包率调整规则调整丢包率,具体包括:当所述软中断处理进程的当前循环执行次数为1时,若连续K次检测到所述进程计时器的值均不为0,则根据所述第一丢包率调整规则增加丢包率;其中,K为正整数。进一步地,所述第一丢包率调整规则为D=D’+2%;其中,D表示调整后的丢包率,且0≤D≤Dmax;D’表示当前丢包率,且0≤D’≤Dmax;Dmax表示最大丢包率。进一步地,所述根据预设的丢包规则确定丢包种类和丢包数量,具体包括:至少根据数据包的长度、数据包的类型、数据包所属的连接的流量以及当前丢包率确定丢包种类和丢包数量。进一步地,所述方法还包括:当检测到所述进程计时器的值为0时,根据预设的第二丢包率调整规则减少丢包率。进一步地,所述第二丢包率调整规则为D=D’/2;其中,D表示调整后的丢包率,且0≤D≤Dmax;D’表示当前丢包率,且0≤D’≤Dmax;Dmax表示最大丢包率。本专利技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序;其中,所述计算机程序在运行时控制所述计算机可读存储介质所在的设备执行上述任一项所述的自动调节CPU负载的方法。本专利技术实施例还提供了一种终端设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器在执行所述计算机程序时实现上述任一项所述的自动调节CPU负载的方法。与现有技术相比,本专利技术实施例提供了一种自动调节CPU负载的方法,通过对进程进行监控,当进程被唤醒时,启动进程计时器开始计时,每隔预设的时间间隔检测进程计时器的值,根据进程计时器的值和预设的第一次数调整规则调整软中断处理进程的循环执行次数,当进程响应结束时,关闭进程计时器并将进程计时器的值置为0,解决了网络流量较大时进程无法及时获得CPU资源的问题,无需用户手动配置规则,实现了CPU负载的自动调节。附图说明图1是本专利技术提供的一种自动调节CPU负载的方法的一个优选实施例的流程图;图2是本专利技术提供的一种自动调节CPU负载的方法的步骤S14的一个优选实施例的具体流程图;图3是本专利技术提供的一种自动调节CPU负载的方法的步骤S14的另一个优选实施例的具体流程图;图4是本专利技术提供的一种终端设备的一个优选实施例的结构框图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本
普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。参见图1所示,是本专利技术提供的一种自动调节CPU负载的方法的一个优选实施例的流程图,包括步骤S11至步骤S15:步骤S11、对进程进行监控;步骤S12、当所述进程被唤醒时,启动进程计时器开始计时;步骤S13、每隔预设的时间间隔检测所述进程计时器的值;步骤S14、根据所述进程计时器的值和预设的第一次数调整规则调整软中断处理进程的循环执行次数;步骤S15、当所述进程响应结束时,关闭所述进程计时器并将所述进程计时器的值置为0。本实施例为一种软中断动态调整机制(SoftirqDynamicTuning,SDT),具体的,通过监控机制实时监控每一个进程的进程需求,当任意一个进程被唤醒时,启动该进程的进程计时器开始计时,并且每隔预先设置的时间间隔(优选为200ms)检测进程计时器的值,并根据进程计时器的值和预先设置的第一次数调整规则调整软中断处理进程的循环执行次数,当被唤醒的进程的响应结束时,相应关闭进程计时器并将进程计时器的值清零。需要说明的是,进程在未被唤醒时处于阻塞状态,即睡眠状态,这种状态下的进程不会获得CPU资源,当进程接收到报文后会被socket唤醒,此时进程变为活跃状态,在进程获取到CPU资源后,就可以处理接收到的报文,在完成对报文的响应后再变为睡眠状态,因此,上述进程需本文档来自技高网
...

【技术保护点】
1.一种自动调节CPU负载的方法,其特征在于,包括:对进程进行监控;当所述进程被唤醒时,启动进程计时器开始计时;每隔预设的时间间隔检测所述进程计时器的值;根据所述进程计时器的值和预设的第一次数调整规则调整软中断处理进程的循环执行次数;当所述进程响应结束时,关闭所述进程计时器并将所述进程计时器的值置为0。

【技术特征摘要】
1.一种自动调节CPU负载的方法,其特征在于,包括:对进程进行监控;当所述进程被唤醒时,启动进程计时器开始计时;每隔预设的时间间隔检测所述进程计时器的值;根据所述进程计时器的值和预设的第一次数调整规则调整软中断处理进程的循环执行次数;当所述进程响应结束时,关闭所述进程计时器并将所述进程计时器的值置为0。2.如权利要求1所述的自动调节CPU负载的方法,其特征在于,所述根据所述进程计时器的值和预设的第一次数调整规则调整软中断处理进程的循环执行次数,具体包括:当所述进程计时器的值大于预设的时间阈值时,判断所述软中断处理进程的当前循环执行次数是否为1;当所述软中断处理进程的当前循环执行次数不为1时,根据所述第一次数调整规则减少所述软中断处理进程的循环执行次数。3.如权利要求2所述的自动调节CPU负载的方法,其特征在于,所述第一次数调整规则为N=N’/2;其中,N表示调整后的循环执行次数,且1≤N≤Nmax;N’表示当前循环执行次数,且1≤N’≤Nmax;Nmax表示最大循环执行次数。4.如权利要求2所述的自动调节CPU负载的方法,其特征在于,所述方法还包括:当检测到所述进程计时器的值为0时,根据预设的第二次数调整规则增加所述软中断处理进程的循环执行次数。5.如权利要求4所述的自动调节CPU负载的方法,其特征在于,所述第二次数调整规则为N=N’+1;其中,N表示调整后的循环执行次数,且1≤N≤Nmax;N’表示当前循环执行次数,且1≤N’≤Nmax;Nmax表示最大循环执行次数。6.如权利要求2所述的自动调节CPU负载的方法,其特征在于,所述方法还包括:当所述软中断处理进程的当前循环执行次数为1时,根据预设的第一丢包率调整规则调整丢包率;根据预设的丢包规则确定丢包种类和丢包数量;根据调整后的丢包率、确定的丢包种类和丢包数...

【专利技术属性】
技术研发人员:王浩
申请(专利权)人:普联技术有限公司
类型:发明
国别省市:广东,44

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

1