[发明专利]一种限制多线程程序占用cpu利用率的系统及限制方法有效
申请号: | 201611161496.6 | 申请日: | 2016-12-15 |
公开(公告)号: | CN106598740B | 公开(公告)日: | 2020-11-27 |
发明(设计)人: | 戴纯兴 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 济南舜源专利事务所有限公司 37205 | 代理人: | 刘雪萍 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 限制 多线程 程序 占用 cpu 利用率 系统 方法 | ||
1.一种限制多线程程序占用cpu利用率的方法,其特征在于包括如下步骤:
1)在多线程程序启动阶段设置各个业务模块的优先级及类型,每个业务模块启动时以线程的方式运行在系统中;业务模块根据其特性分为不同的类别:对实时响应的业务类型,具有较高的优先级,可以暂停其它业务类型的执行,对于不对响应时间要求的,具有较低的优先级,可以被较高优先级的业务给抢占,可能随时被监控模块停止运行;所述监控模块,用于计算出各个业务模块的cpu占用率和控制模块的cpu占用率,计算得出该多线程程序的cpu利用率;启动或者运行业务模块并通知控制模块;根据业务模块的特性,降低或提高业务模块的优先级;
2)根据当前系统的业务类型,设定该多线程程序的cpu占用率;
3)在不加载业务模块的时候,测量和调整控制模块的cpu占用率,调整完毕后,控制模块将始终占用该cpu占用率;所述控制模块用于查看该多线程程序的CPU利用率并设定阈值,向监控模块注册业务模块和删除完成任务的业务模块;
4)业务模块启动后,监控模块首先计算出各个业务模块的cpu占用率,和控制模块的cpu占用率,计算得出该多线程程序的cpu利用率,若该多线程程序的cpu利用率小于设定值,则不进行任何操作;若cpu利用率高于设定值,则根据业务模块的类别和优先级,优先停止最低级别的业务模块的执行;
5)所有业务模块都被停止运行,还无法满足设定值,则控制模块进行休眠,让出控制模块占用的cpu。
2.根据权利要求1所述的限制多线程程序占用cpu利用率的方法,其特征是:步骤4)中,若业务模块被停止执行后,需要设定该业务模块下次被唤醒的时间和唤醒后的优先级,同一种类型的业务模块被唤醒后,将处于该类型的优先级的最高级别。
3.根据权利要求2所述的限制多线程程序占用cpu利用率的方法,其特征是:被停止的业务模块下次被唤醒的时间将根据当前计算出的cpu利用率和该多线程程序设置的最大值计算的出唤醒时间。
4.根据权利要求2所述的限制多线程程序占用cpu利用率的方法,其特征是:步骤4)中,调整被停止的业务模块优先级时,被停止的业务模块的优先级将高于未停止的同一类型的业务模块的优先级,低于之前停止的同一类型的优先级。
5.根据权利要求1所述的限制多线程程序占用cpu利用率的方法,其特征是:步骤4)中在选择停止的业务模块时,对于同一类型的业务模块中,优先选择对cpu占用较高的任务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611161496.6/1.html,转载请声明来源钻瓜专利网。