[发明专利]一种程序执行中CPU使用限制方法、系统、设备及存储介质在审
申请号: | 202210418035.1 | 申请日: | 2022-04-20 |
公开(公告)号: | CN114756370A | 公开(公告)日: | 2022-07-15 |
发明(设计)人: | 黄翔宇;陈洪国;何艺 | 申请(专利权)人: | 北京持安科技有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/48;G06F9/4401 |
代理公司: | 深圳睿臻知识产权代理事务所(普通合伙) 44684 | 代理人: | 张海燕 |
地址: | 102200 北京市昌平区回龙*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 程序 执行 cpu 使用 限制 方法 系统 设备 存储 介质 | ||
本发明实施例提供了一种程序执行中CPU使用限制方法、系统、设备及存储介质,以向目标进程分配的第一预设数量值的时间片作为循环周期,基于运行前CPU使用率,确定当前周期目标进程用于运行的第一时间片数值和用于挂起的第二时间片数值,然后通知目标进程基于第一时间片数值和第二时间片数值依次运行和挂起,在程序执行中实现了CPU使用限制的管控。本发明实施例适用于Linux对所有进程级别的管控,例如常见的病毒扫描进程,文件扫描进程,弱密码计算进程等CPU密集运算进程。
技术领域
本发明实施例涉及计算机技术领域,具体涉及一种程序执行中CPU使用限制方法、系统、设备及存储介质。
背景技术
Linux程序在使用过程中,程序执行是抢占式,所以对于高并发服务器和高密集运算服务器在运行过程中,某些对业务不相关程序需要降低其CPU的使用。Linux针对此情况提供了cgroup来对某些程序进行一定的控制,cgroups的名称源自控制组群(controlgroups)的简写,是Linux内核的一个功能,用来限制、控制与分离一个进程组的资源(如CPU、内存、磁盘输入输出等)。但是cgroup依赖内核版本相对较高,无法满足需要兼容较老版本Linux的业务场景。
发明内容
为此,本发明实施例提供一种程序执行中CPU使用限制方法、系统、设备及存储介质,以解决现有技术中对程序执行中CPU使用限制的管控业务场景适用性差的技术问题。
为了实现上述目的,本发明实施例提供如下技术方案:
根据本发明实施例的第一方面,本申请实施例提供了一种程序执行中CPU使用限制方法,所述方法应用于管控进程,所述管控进程用于对目标进程进行管控,所述方法包括:
将时间片运行初始值设置为0;
按照第一预设数量值向所述目标进程分配时间片;
获取所述目标进程运行前CPU使用率;
根据所述运行前CPU使用率,确定当前周期所述目标进程用于运行的第一时间片数值和用于挂起的第二时间片数值;
通知所述目标进程开始运行;
直到所述目标进程运行完成所述第一时间片数值的时间片后,通知所述目标进程挂起;
直至所述目标进程完成所述第二时间片数值的时间片的挂起,进入下一周期。
进一步地,根据所述运行前CPU使用率,确定当前周期所述目标进程用于运行的第一时间片数值和用于挂起的第二时间片数值,包括:
判断所述运行前CPU使用率是否超过预设阈值;
如果所述当前CPU使用率未超过预设阈值,则获得所述第一时间片数值的预测值,其中,当前周期为第一个周期时,将所述第一预设数量值加上1的计算值作为所述预测值,当前周期不为第一个周期时,将上一周期的第一时间片数值加上1的计算值作为所述预测值;
判断所述更新值是否超过所述第一预设数量值;
如果所述更新值超过所述第一预设数量值,则确定所述第一时间片数值为所述第一预设数量值;以及
确定所述第二时间片数值为0。
进一步地,根据所述运行前CPU使用率,确定当前周期所述目标进程用于运行的第一时间片数值和用于挂起的第二时间片数值,还包括:
如果所述运行前CPU使用率超过预设阈值,则确定所述第一时间片数值为第二预设数量值;以及
确定所述第二时间片数值为所述第一预设数量值减去所述第二预设数量值的差值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京持安科技有限公司,未经北京持安科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210418035.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:准谐振开关电源及其控制芯片和控制方法
- 下一篇:腋臭根治术用负压引流装置