[发明专利]自适应的进程CPU资源限制方法、装置、终端及存储介质有效
申请号: | 202010893829.4 | 申请日: | 2020-08-31 |
公开(公告)号: | CN112052088B | 公开(公告)日: | 2021-07-13 |
发明(设计)人: | 尉爽生;张福;程度 | 申请(专利权)人: | 北京升鑫网络科技有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F11/30;G06F11/34 |
代理公司: | 北京谱帆知识产权代理有限公司 11944 | 代理人: | 魏敬宣 |
地址: | 102199 北京市大兴区北京经济*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 自适应 进程 cpu 资源 限制 方法 装置 终端 存储 介质 | ||
1.一种自适应的进程CPU资源限制方法,其特征在于,包括如下步骤:
获取系统的基本信息,根据所述系统的基本信息判断系统是否支持cgroups;当所述系统不支持cgroups时,选择cpulimit方式进行CPU使用率的监控;
并且在cpulimit监控过程中,如果在当前第一采样周期里,目标进程的CPU使用率未超过设定阈值,则在下一个第一采样周期中不对所述目标进程进行暂停控制;
如果目标进程的CPU使用率超过设定阈值,则计算所述下一个第一采样周期给目标进程分配的运行时间twork及暂停时间tsleep,判断twork是否大于0,如果twork大于0 ,则向目标进行发送SIGCONT信号,然后等待twork时间,再向目标进程发送SIGSTOP信号,然后等待tsleep时间,进入所述下一个第一采样周期,更新目标进程组;如果twork小于或等于0,则直接向目标进程进行发送SIGSTOP信号,然后等待tsleep时间,进入所述下一个第一采样周期,更新目标进程组;
如果目标进程的CPU使用率未超过设定阈值,则判断是否需要唤醒进程,如果不需要唤醒,则等待进入所述下一个第一采样周期;如果需要唤醒,则设置twork,然后向目标进程发送SIGCONT,然后等待twork时间,再向目标进程发送SIGSTOP信号,然后等待tsleep时间,进入所述下一个第一采样周期,更新目标进程组。
2.根据权利要求1所述的自适应的进程CPU资源限制方法,其特征在于,当所述系统支持cgroups且CPU子系统已启用以及CPU子系统已被挂载时,优先选择cgroups进行CPU使用率的监控;并且在cgroups监控过程中,获取CPU子系统挂载目录,在CPU子系统中创建目标进程控制组,并进行CPU使用率阈值的配置,将需要监控的目标进程的PID加入所述目标进程控制组。
3.根据权利要求2所述的自适应的进程CPU资源限制方法,其特征在于,所述进行CPU使用率阈值的配置,包括:对CPU控制周期cpu.cfs_period_us以及控制组限制CPU占用的时间cpu.cfs_quota_us进行配置;其中,所述CPU使用率阈值
workingrate=cpu.cfs_quota_us/cpu.cfs_period_us。
4.根据权利要求1至3任一项所述的自适应的进程CPU资源限制方法,其特征在于,还包括,通过hash set获取两次采样间隔内的新增进程列表,根据所述新增进程列表构造进程树,从所述进程树中获取目标进程的全部子进程,然后分别检查子进程的CPU使用率,对于超过预设上限的子进程,向其发送终止运行的信号,其中,所述两次采样间隔确定第二采样周期。
5.根据权利要求4所述的自适应的进程CPU资源限制方法,其特征在于,所述通过hashset获取两次采样间隔内的新增进程列表包括:创建集合pre_pids和集合cur_pids,集合pre_pids用于记录所述第二采样周期中上一次采样时的进程PID集合;集合cur_pids用于记录所述第二采样周期中当前采样时的进程PID集合,通过比较两个集合得到两次采样间隔内的新增进程PID,从而得到两次采样间隔时间内的新增进程列表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京升鑫网络科技有限公司,未经北京升鑫网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010893829.4/1.html,转载请声明来源钻瓜专利网。