欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > 在Linux系統中限制CPU占用率的教程

在Linux系統中限制CPU占用率的教程

熱門標簽:布谷電銷機器人價格 義烏市400電話辦理 大連企業電銷機器人線路 岑溪電銷機器人 電銷機器人錄音用什么軟件 優邁系統外呼顯示亂層 上海電銷卡外呼系統供應商 怎么查看地圖標注的地點 營銷智能外呼系統口碑推薦

Linux內核是一名了不起的馬戲表演者,它在進程和系統資源間小心地玩著雜耍,并保持系統的正常運轉。 同時,內核也很公正:它將資源公平地分配給各個進程。

但是,如果你需要給一個重要進程提高優先級時,該怎么做呢? 或者是,如何降低一個進程的優先級? 又或者,如何限制一組進程所使用的資源呢?

答案是需要由用戶來為內核指定進程的優先級

大部分進程啟動時的優先級是相同的,因此Linux內核會公平地進行調度。 如果想讓一個CPU密集型的進程運行在較低優先級,那么你就得事先配置好調度器。

下面介紹3種控制進程運行時間的方法:

  1.     使用 nice 命令手動降低任務的優先級。
        使用 cpulimit 命令不斷的暫停進程,以控制進程所占用處理能力不超過特定限制。
        使用linux內建的control groups(控制組)功能,它提供了限制進程資源消耗的機制。

我們來看一下這3個工具的工作原理和各自的優缺點。
模擬高cpu占用率

在分析這3種技術前,我們要先安裝一個工具來模擬高CPU占用率的場景。我們會用到CentOS作為測試系統,并使用Mathomatic toolkit中的質數生成器來模擬CPU負載。

很不幸,在CentOS上這個工具沒有預編譯好的版本,所以必須要從源碼進行安裝。先從 http://mathomatic.orgserve.de/mathomatic-16.0.5.tar.bz2 這個鏈接下載源碼包并解壓。然后進入 mathomatic-16.0.5/primes 文件夾,運行 make 和 sudo make install 進行編譯和安裝。這樣,就把 matho-primes 程序安裝到了 /usr/local/bin 目錄中。

接下來,通過命令行運行:

   

復制代碼
代碼如下:
/usr/local/bin/matho-primes 0 9999999999 > /dev/null

程序運行后,將輸出從0到9999999999之間的質數。因為我們并不需要這些輸出結果,直接將輸出重定向到/dev/null就好。

現在,使用top命令就可以看到matho-primes進程榨干了你所有的cpu資源。

好了,接下來(按q鍵)退出 top 并殺掉 matho-primes 進程(使用 fg 命令將進程切換到前臺,再按 CTRL+C)
nice命令

下面介紹一下nice命令的使用方法,nice命令可以修改進程的優先級,這樣就可以讓進程運行得不那么頻繁。 這個功能在運行cpu密集型的后臺進程或批處理作業時尤為有用。 nice值的取值范圍是[-20,19],-20表示最高優先級,而19表示最低優先級。 Linux進程的默認nice值為0。使用nice命令(不帶任何參數時)可以將進程的nice值設置為10。這樣調度器就會將此進程視為較低優先級的進程,從而減少cpu資源的分配。

下面來看一個例子,我們同時運行兩個 matho-primes 進程,一個使用nice命令來啟動運行,而另一個正常啟動運行:

   

復制代碼
代碼如下:
nice matho-primes 0 9999999999 > /dev/null
matho-primes 0 9999999999 > /dev/null

再運行top命令。

看到沒,正常運行的進程(nice值為0)獲得了更多的cpu運行時間,相反的,用nice命令運行的進程占用的cpu時間會較少(nice值為10)。

在實際使用中,如果你要運行一個CPU密集型的程序,那么最好用nice命令來啟動它,這樣就可以保證其他進程獲得更高的優先級。 也就是說,即使你的服務器或者臺式機在重載的情況下,也可以快速響應。

nice 還有一個關聯命令叫做 renice,它可以在運行時調整進程的 nice 值。使用 renice 命令時,要先找出進程的 PID。下面是一個例子:

   

復制代碼
代碼如下:
renice +10 1234

其中,1234是進程的 PID。

測試完 nice 和 renice 命令后,記得要將 matho-primes 進程全部殺掉。
cpulimit命令

接下來介紹 cpulimit 命令的用法。 cpulimit 命令的工作原理是為進程預設一個 cpu 占用率門限,并實時監控進程是否超出此門限,若超出則讓該進程暫停運行一段時間。cpulimit 使用 SIGSTOP 和 SIGCONT 這兩個信號來控制進程。它不會修改進程的 nice 值,而是通過監控進程的 cpu 占用率來做出動態調整。

cpulimit 的優勢是可以控制進程的cpu使用率的上限值。但與 nice 相比也有缺點,那就是即使 cpu 是空閑的,進程也不能完全使用整個 cpu 資源。

在 CentOS 上,可以用下面的方法來安裝它:

   

復制代碼
代碼如下:
wget -O cpulimit.zip https://github.com/opsengine/cpulimit/archive/master.zip
unzip cpulimit.zip
cd cpulimit-master
make
sudo cp src/cpulimit /usr/bin

上面的命令行,會先從從 GitHub 上將源碼下載到本地,然后再解壓、編譯、并安裝到 /usr/bin 目錄下。

cpulimit 的使用方式和 nice 命令類似,但是需要用戶使用 -l 選項顯式地定義進程的 cpu 使用率上限值。舉例說明:

   

復制代碼
代碼如下:
cpulimit -l 50 matho-primes 0 9999999999 > /dev/null

    從上面的例子可以看出 matho-primes 只使用了50%的 cpu 資源,剩余的 cpu 時間都在 idle。

cpulimit 還可以在運行時對進程進行動態限制,使用 -p 選項來指定進程的 PID,下面是一個實例:

   

復制代碼
代碼如下:
cpulimit -l 50 -p 1234

其中,1234是進程的 PID。
cgroups 命令集

最后介紹,功能最為強大的控制組(cgroups)的用法。cgroups 是 Linux 內核提供的一種機制,利用它可以指定一組進程的資源分配。 具體來說,使用 cgroups,用戶能夠限定一組進程的 cpu 占用率、系統內存消耗、網絡帶寬,以及這幾種資源的組合。

對比nice和cpulimit,cgroups 的優勢在于它可以控制一組進程,不像前者僅能控制單進程。同時,nice 和 cpulimit 只能限制 cpu 使用率,而 cgroups 則可以限制其他進程資源的使用。

對 cgroups 善加利用就可以控制好整個子系統的資源消耗。就拿 CoreOS 作為例子,這是一個專為大規模服務器部署而設計的最簡化的 Linux 發行版本,它的 upgrade 進程就是使用 cgroups 來管控。這樣,系統在下載和安裝升級版本時也不會影響到系統的性能。

下面做一下演示,我們將創建兩個控制組(cgroups),并對其分配不同的 cpu 資源。這兩個控制組分別命名為“cpulimited”和“lesscpulimited”。

使用 cgcreate 命令來創建控制組,如下所示:

   

復制代碼
代碼如下:
sudo cgcreate -g cpu:/cpulimited
sudo cgcreate -g cpu:/lesscpulimited

其中“-g cpu”選項用于設定 cpu 的使用上限。除 cpu 外,cgroups 還提供 cpuset、memory、blkio 等控制器。cpuset 控制器與 cpu 控制器的不同在于,cpu 控制器只能限制一個 cpu 核的使用率,而 cpuset 可以控制多個 cpu 核。

cpu 控制器中的 cpu.shares 屬性用于控制 cpu 使用率。它的默認值是 1024,我們將 lesscpulimited 控制組的 cpu.shares 設為1024(默認值),而 cpulimited 設為512,配置后內核就會按照2:1的比例為這兩個控制組分配資源。

要設置 cpulimited 組的 cpu.shares 為 512,輸入以下命令:

   

復制代碼
代碼如下:
sudo cgset -r cpu.shares=512 cpulimited

使用 cgexec 命令來啟動控制組的運行,為了測試這兩個控制組,我們先用cpulimited 控制組來啟動 matho-primes 進程,命令行如下:

   

復制代碼
代碼如下:
sudo cgexec -g cpu:cpulimited /usr/local/bin/matho-primes 0 9999999999 > /dev/null

打開 top 可以看到,matho-primes 進程占用了所有的 cpu 資源。

因為只有一個進程在系統中運行,不管將其放到哪個控制組中啟動,它都會盡可能多的使用cpu資源。cpu 資源限制只有在兩個進程爭奪cpu資源時才會生效。

那么,現在我們就啟動第二個 matho-primes 進程,這一次我們在 lesscpulimited 控制組中來啟動它:

   

復制代碼
代碼如下:
sudo cgexec -g cpu:lesscpulimited /usr/local/bin/matho-primes 0 9999999999 > /dev/null

再打開 top 就可以看到,cpu.shares 值大的控制組會得到更多的 cpu 運行時間。

現在,我們再在 cpulimited 控制組中增加一個 matho-primes 進程:

   

復制代碼
代碼如下:
sudo cgexec -g cpu:cpulimited /usr/local/bin/matho-primes 0 9999999999 > /dev/null

    看到沒,兩個控制組的 cpu 的占用率比例仍然為2:1。其中,cpulimited 控制組中的兩個 matho-primes 進程獲得的cpu 時間基本相當,而另一組中的 matho-primes 進程顯然獲得了更多的運行時間。

更多的使用方法,可以在 Red Hat 上查看詳細的 cgroups 使用說明。(當然CentOS 7也有)
使用Scout來監控cpu占用率

監控cpu占用率最為簡單的方法是什么?Scout 工具能夠監控能夠自動監控進程的cpu使用率和內存使用情況。

Scout的觸發器(trigger)功能還可以設定 cpu 和內存的使用門限,超出門限時會自動產生報警。

從這里可以獲取 Scout 的試用版。
總結
計算機的系統資源是非常寶貴的。上面介紹的這3個工具能夠幫助大家有效地管理系統資源,特別是cpu資源:

  1.     nice可以一次性調整進程的優先級。
        cpulimit在運行cpu密集型任務且要保持系統的響應性時會很有用。
        cgroups是資源管理的瑞士軍刀,同時在使用上也很靈活。

標簽:遼寧 樂山 周口 大慶 大興安嶺 六安 大理 青島

巨人網絡通訊聲明:本文標題《在Linux系統中限制CPU占用率的教程》,本文關鍵詞  在,Linux,系統,中,限制,CPU,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《在Linux系統中限制CPU占用率的教程》相關的同類信息!
  • 本頁收集關于在Linux系統中限制CPU占用率的教程的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    成人午夜免费视频| 人妖欧美一区二区| 国产·精品毛片| 大胸美女被爆操| 欧美一区二区三区不卡| 亚洲欧美色图小说| 成人免费av资源| 欧美卡一卡二卡三| 国产精品国产精品国产专区不蜜 | www.久久精品| 国产人妻精品一区二区三区不卡| 中文一区一区三区高中清不卡| 久久91精品久久久久久秒播| 国产又粗又猛又爽又黄av| 久久亚洲精精品中文字幕早川悠里| 六月丁香综合在线视频| 亚洲人成人无码网www国产| 欧美成人猛片aaaaaaa| 久久99热狠狠色一区二区| 久久美女免费视频| 国产欧美日韩三级| 久久久777精品电影网影网 | a在线播放不卡| 91激情在线视频| 亚洲图片一区二区| 亚洲制服丝袜在线播放| 日韩欧美国产一区二区在线播放| 日日摸夜夜添夜夜添亚洲女人| 日韩aaaaa| 久久欧美中文字幕| 成人午夜看片网址| 欧美性大战久久| 午夜精品福利一区二区蜜股av| 欧美大片免费播放器| 久久亚洲精品小早川怜子| 丰满岳乱妇一区二区三区| 日本精品一级二级| 午夜视黄欧洲亚洲| 亚洲欧美va天堂人熟伦| 国产精品欧美一区二区三区| 国产精品久久久久野外| 欧美一二三区在线观看| 国产综合一区二区| 外国一级黄色片| 亚洲第一综合色| 亚洲色成人网站www永久四虎| 国产精品欧美精品| 91蜜桃婷婷狠狠久久综合9色| 欧美一级欧美三级在线观看| 国产酒店精品激情| 欧美吞精做爰啪啪高潮| 免费美女久久99| 日本女人性生活视频| 一区二区三区欧美日| 三上悠亚ssⅰn939无码播放| 国产亚洲短视频| av影片在线播放| 日韩女优av电影在线观看| 国产成人午夜视频| 欧美色图片你懂的| 国内精品久久久久影院薰衣草 | 国产精品一区二区久久不卡| 91久久国产综合久久| 日本视频免费一区| 国产成人无码aa精品一区| 日韩av一二三| 1024手机在线视频| 日本美女视频一区二区| 久草网站在线观看| 蜜芽一区二区三区| 在线亚洲免费视频| 国产一区二区不卡| 欧美日本一区二区三区| 国产一区二区三区在线观看免费视频 | 91免费看片在线观看| 日韩欧美亚洲一区二区| av在线一区二区| 精品国产1区2区3区| 久久久久亚洲av片无码v| 久久精品亚洲精品国产欧美kt∨| 亚洲熟妇一区二区| 国产女人18毛片水真多成人如厕| bl动漫在线观看| 亚洲天堂成人网| 一区二区三区伦理片| 一级特黄大欧美久久久| frxxee中国xxx麻豆hd| 日本成人在线不卡视频| 欧美午夜宅男影院| 成人午夜看片网址| 国产亚洲精品中文字幕| 88av在线播放| 亚洲精品欧美综合四区| 亚洲精品卡一卡二| 极品销魂美女一区二区三区| 91精品国产综合久久香蕉麻豆| 99精品视频一区二区三区| 国产三级精品视频| 精品人妻一区二区三区视频| 亚洲成人福利片| 91久久线看在观草草青青| 国产电影一区二区三区| 久久综合九色综合欧美98| 国产肉体xxxx裸体784大胆| 亚洲综合视频在线观看| 色综合久久综合| 丁香激情综合国产| 国产日韩欧美在线一区| 女~淫辱の触手3d动漫| 日本欧美一区二区| 欧美一区日韩一区| 国产xxxx视频| 亚洲成在人线在线播放| 欧美性xxxxx极品少妇| 91蝌蚪porny九色| 亚洲日穴在线视频| 色综合天天综合给合国产| 成人免费精品视频| 国产精品免费视频网站| 强制高潮抽搐sm调教高h| 国内一区二区视频| 久久久久久久久免费| 国产jjizz一区二区三区视频| 奇米在线7777在线精品| 日韩一区二区三区免费看 | 欧美一级久久久| 亚洲熟女乱综合一区二区三区 | 天天综合色天天| 欧美日本免费一区二区三区| 日批免费观看视频| 午夜一区二区三区在线观看| 在线不卡一区二区| 喷水视频在线观看| 奇米精品一区二区三区在线观看| 日韩欧美黄色影院| b站大片免费直播| 紧缚奴在线一区二区三区| 久久精品一区二区三区不卡| 美国一级黄色录像| 国产精品99久久久久| 国产精品久久久久久久久久免费看 | 精品写真视频在线观看| 久久久久久久久久久电影| 日本成人免费在线观看 | 久久r这里只有精品| 老女人性生活视频| 亚洲高清视频中文字幕| 欧美一区二区三区视频在线| 精品成人av一区二区三区| 国模大尺度一区二区三区| 亚洲国产精品传媒在线观看| 国产免费无码一区二区视频| 91丨九色丨黑人外教| 亚洲一区二区四区蜜桃| 91精品国产综合久久精品麻豆| 亚洲一级中文字幕| 国产露脸91国语对白| 亚洲视频精选在线| 884aa四虎影成人精品一区| 午夜视频在线观看国产| 加勒比av一区二区| 最新不卡av在线| 欧美美女网站色| 久久精品—区二区三区舞蹈| 国产一区二区三区免费看| 国产欧美久久久精品影院| 在线观看av一区二区| 人妻丰满熟妇av无码久久洗澡| 国产在线精品一区二区不卡了 | 99久久精品免费| 调教+趴+乳夹+国产+精品| 欧美va天堂va视频va在线| 毛片久久久久久| 欧美日韩一区二区区| 久久成人18免费观看| 日韩一区在线播放| 69精品人人人人| 成人黄色短视频| 香港三日本8a三级少妇三级99| 国产精品一区二区不卡| 亚洲一区二区影院| 欧美激情一区三区| 欧美日韩不卡一区二区| youjizz亚洲女人| 麻豆精品国产传媒| 韩国一区二区三区| 亚洲在线视频网站| 国产婷婷色一区二区三区| 欧美日韩的一区二区| 国产小视频你懂的| 成熟妇人a片免费看网站| 国产精品一品视频| 午夜精品久久久久久久久久| 欧美国产精品专区| 欧美电影在线免费观看| 中文字幕电影av| 国产精品无码一区二区三区| 99久久99精品久久久久久 | 粉嫩精品久久99综合一区| 欧洲熟妇的性久久久久久|