[發明專利]自適應的進程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.szxzyx.cn/pat/books/202010893829.4/1.html,轉載請聲明來源鉆瓜專利網。





