婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識(shí)庫 > 在Linux系統(tǒng)中限制CPU占用率的教程

在Linux系統(tǒng)中限制CPU占用率的教程

熱門標(biāo)簽:布谷電銷機(jī)器人價(jià)格 義烏市400電話辦理 大連企業(yè)電銷機(jī)器人線路 岑溪電銷機(jī)器人 電銷機(jī)器人錄音用什么軟件 優(yōu)邁系統(tǒng)外呼顯示亂層 上海電銷卡外呼系統(tǒng)供應(yīng)商 怎么查看地圖標(biāo)注的地點(diǎn) 營銷智能外呼系統(tǒng)口碑推薦

Linux內(nèi)核是一名了不起的馬戲表演者,它在進(jìn)程和系統(tǒng)資源間小心地玩著雜耍,并保持系統(tǒng)的正常運(yùn)轉(zhuǎn)。 同時(shí),內(nèi)核也很公正:它將資源公平地分配給各個(gè)進(jìn)程。

但是,如果你需要給一個(gè)重要進(jìn)程提高優(yōu)先級(jí)時(shí),該怎么做呢? 或者是,如何降低一個(gè)進(jìn)程的優(yōu)先級(jí)? 又或者,如何限制一組進(jìn)程所使用的資源呢?

答案是需要由用戶來為內(nèi)核指定進(jìn)程的優(yōu)先級(jí)

大部分進(jìn)程啟動(dòng)時(shí)的優(yōu)先級(jí)是相同的,因此Linux內(nèi)核會(huì)公平地進(jìn)行調(diào)度。 如果想讓一個(gè)CPU密集型的進(jìn)程運(yùn)行在較低優(yōu)先級(jí),那么你就得事先配置好調(diào)度器。

下面介紹3種控制進(jìn)程運(yùn)行時(shí)間的方法:

  1.     使用 nice 命令手動(dòng)降低任務(wù)的優(yōu)先級(jí)。
        使用 cpulimit 命令不斷的暫停進(jìn)程,以控制進(jìn)程所占用處理能力不超過特定限制。
        使用linux內(nèi)建的control groups(控制組)功能,它提供了限制進(jìn)程資源消耗的機(jī)制。

我們來看一下這3個(gè)工具的工作原理和各自的優(yōu)缺點(diǎn)。
模擬高cpu占用率

在分析這3種技術(shù)前,我們要先安裝一個(gè)工具來模擬高CPU占用率的場(chǎng)景。我們會(huì)用到CentOS作為測(cè)試系統(tǒng),并使用Mathomatic toolkit中的質(zhì)數(shù)生成器來模擬CPU負(fù)載。

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

接下來,通過命令行運(yùn)行:

   

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

程序運(yùn)行后,將輸出從0到9999999999之間的質(zhì)數(shù)。因?yàn)槲覀儾⒉恍枰@些輸出結(jié)果,直接將輸出重定向到/dev/null就好。

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

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

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

下面來看一個(gè)例子,我們同時(shí)運(yùn)行兩個(gè) matho-primes 進(jìn)程,一個(gè)使用nice命令來啟動(dòng)運(yùn)行,而另一個(gè)正常啟動(dòng)運(yùn)行:

   

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

再運(yùn)行top命令。

看到?jīng)],正常運(yùn)行的進(jìn)程(nice值為0)獲得了更多的cpu運(yùn)行時(shí)間,相反的,用nice命令運(yùn)行的進(jìn)程占用的cpu時(shí)間會(huì)較少(nice值為10)。

在實(shí)際使用中,如果你要運(yùn)行一個(gè)CPU密集型的程序,那么最好用nice命令來啟動(dòng)它,這樣就可以保證其他進(jìn)程獲得更高的優(yōu)先級(jí)。 也就是說,即使你的服務(wù)器或者臺(tái)式機(jī)在重載的情況下,也可以快速響應(yīng)。

nice 還有一個(gè)關(guān)聯(lián)命令叫做 renice,它可以在運(yùn)行時(shí)調(diào)整進(jìn)程的 nice 值。使用 renice 命令時(shí),要先找出進(jìn)程的 PID。下面是一個(gè)例子:

   

復(fù)制代碼
代碼如下:
renice +10 1234

其中,1234是進(jìn)程的 PID。

測(cè)試完 nice 和 renice 命令后,記得要將 matho-primes 進(jìn)程全部殺掉。
cpulimit命令

接下來介紹 cpulimit 命令的用法。 cpulimit 命令的工作原理是為進(jìn)程預(yù)設(shè)一個(gè) cpu 占用率門限,并實(shí)時(shí)監(jiān)控進(jìn)程是否超出此門限,若超出則讓該進(jìn)程暫停運(yùn)行一段時(shí)間。cpulimit 使用 SIGSTOP 和 SIGCONT 這兩個(gè)信號(hào)來控制進(jìn)程。它不會(huì)修改進(jìn)程的 nice 值,而是通過監(jiān)控進(jìn)程的 cpu 占用率來做出動(dòng)態(tài)調(diào)整。

cpulimit 的優(yōu)勢(shì)是可以控制進(jìn)程的cpu使用率的上限值。但與 nice 相比也有缺點(diǎn),那就是即使 cpu 是空閑的,進(jìn)程也不能完全使用整個(gè) cpu 資源。

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

   

復(fù)制代碼
代碼如下:
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

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

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

   

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

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

cpulimit 還可以在運(yùn)行時(shí)對(duì)進(jìn)程進(jìn)行動(dòng)態(tài)限制,使用 -p 選項(xiàng)來指定進(jìn)程的 PID,下面是一個(gè)實(shí)例:

   

復(fù)制代碼
代碼如下:
cpulimit -l 50 -p 1234

其中,1234是進(jìn)程的 PID。
cgroups 命令集

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

對(duì)比nice和cpulimit,cgroups 的優(yōu)勢(shì)在于它可以控制一組進(jìn)程,不像前者僅能控制單進(jìn)程。同時(shí),nice 和 cpulimit 只能限制 cpu 使用率,而 cgroups 則可以限制其他進(jìn)程資源的使用。

對(duì) cgroups 善加利用就可以控制好整個(gè)子系統(tǒng)的資源消耗。就拿 CoreOS 作為例子,這是一個(gè)專為大規(guī)模服務(wù)器部署而設(shè)計(jì)的最簡(jiǎn)化的 Linux 發(fā)行版本,它的 upgrade 進(jìn)程就是使用 cgroups 來管控。這樣,系統(tǒng)在下載和安裝升級(jí)版本時(shí)也不會(huì)影響到系統(tǒng)的性能。

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

使用 cgcreate 命令來創(chuàng)建控制組,如下所示:

   

復(fù)制代碼
代碼如下:
sudo cgcreate -g cpu:/cpulimited
sudo cgcreate -g cpu:/lesscpulimited

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

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

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

   

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

使用 cgexec 命令來啟動(dòng)控制組的運(yùn)行,為了測(cè)試這兩個(gè)控制組,我們先用cpulimited 控制組來啟動(dòng) matho-primes 進(jìn)程,命令行如下:

   

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

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

因?yàn)橹挥幸粋€(gè)進(jìn)程在系統(tǒng)中運(yùn)行,不管將其放到哪個(gè)控制組中啟動(dòng),它都會(huì)盡可能多的使用cpu資源。cpu 資源限制只有在兩個(gè)進(jìn)程爭(zhēng)奪cpu資源時(shí)才會(huì)生效。

那么,現(xiàn)在我們就啟動(dòng)第二個(gè) matho-primes 進(jìn)程,這一次我們?cè)?lesscpulimited 控制組中來啟動(dòng)它:

   

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

再打開 top 就可以看到,cpu.shares 值大的控制組會(huì)得到更多的 cpu 運(yùn)行時(shí)間。

現(xiàn)在,我們?cè)僭?cpulimited 控制組中增加一個(gè) matho-primes 進(jìn)程:

   

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

    看到?jīng)],兩個(gè)控制組的 cpu 的占用率比例仍然為2:1。其中,cpulimited 控制組中的兩個(gè) matho-primes 進(jìn)程獲得的cpu 時(shí)間基本相當(dāng),而另一組中的 matho-primes 進(jìn)程顯然獲得了更多的運(yùn)行時(shí)間。

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

監(jiān)控cpu占用率最為簡(jiǎn)單的方法是什么?Scout 工具能夠監(jiān)控能夠自動(dòng)監(jiān)控進(jìn)程的cpu使用率和內(nèi)存使用情況。

Scout的觸發(fā)器(trigger)功能還可以設(shè)定 cpu 和內(nèi)存的使用門限,超出門限時(shí)會(huì)自動(dòng)產(chǎn)生報(bào)警。

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

  1.     nice可以一次性調(diào)整進(jìn)程的優(yōu)先級(jí)。
        cpulimit在運(yùn)行cpu密集型任務(wù)且要保持系統(tǒng)的響應(yīng)性時(shí)會(huì)很有用。
        cgroups是資源管理的瑞士軍刀,同時(shí)在使用上也很靈活。

標(biāo)簽:遼寧 樂山 周口 大慶 大興安嶺 六安 大理 青島

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《在Linux系統(tǒng)中限制CPU占用率的教程》,本文關(guān)鍵詞  在,Linux,系統(tǒng),中,限制,CPU,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《在Linux系統(tǒng)中限制CPU占用率的教程》相關(guān)的同類信息!
  • 本頁收集關(guān)于在Linux系統(tǒng)中限制CPU占用率的教程的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    69堂精品视频| 亚洲午夜激情网页| 久久综合九色综合欧美98| 亚洲视频每日更新| 成人手机电影网| 国产日韩欧美电影| 东方aⅴ免费观看久久av| 国产调教视频一区| 国产高清精品网站| 久久久久国产精品免费免费搜索| 日韩电影在线观看一区| 欧美日韩国产综合草草| 最新国产成人在线观看| 94-欧美-setu| 一区二区三区国产豹纹内裤在线| 91影院在线观看| 亚洲444eee在线观看| 日韩欧美的一区二区| 国产最新精品免费| 《视频一区视频二区| 欧美高清精品3d| 成人妖精视频yjsp地址| 亚洲欧美中日韩| 欧美一区二区国产| 成人免费看的视频| 蜜臀av一区二区在线观看| 1024亚洲合集| 欧美精品一区二区高清在线观看 | 狠狠色丁香久久婷婷综合_中| 亚洲精品一二三区| 国产精品一区二区在线播放| 欧美日韩一卡二卡三卡| 555www色欧美视频| 青青国产91久久久久久| 国产一区二区不卡老阿姨| av激情亚洲男人天堂| 国产jizzjizz一区二区| 美女视频网站黄色亚洲| 欧美精品日韩精品| 欧美视频一区在线观看| 亚洲免费观看高清完整版在线| 日韩欧美亚洲一区二区| 欧美体内she精视频| 91麻豆福利精品推荐| 国产精品一二一区| 国产精品一线二线三线| 久久99日本精品| 亚洲a一区二区| 日本一区中文字幕| 亚洲成av人片| 日韩精品资源二区在线| 色综合天天综合在线视频| 国产酒店精品激情| 成人久久视频在线观看| 国产一区二区视频在线播放| 蜜桃av一区二区| 激情亚洲综合在线| 国内不卡的二区三区中文字幕| 国产精品综合在线视频| 国产传媒日韩欧美成人| 波多野结衣中文字幕一区二区三区| 懂色av中文一区二区三区 | 色综合久久综合网| 欧美视频一区在线观看| 久久婷婷一区二区三区| 亚洲欧美国产三级| 蜜臀av亚洲一区中文字幕| 国产精品1024| 欧美日韩国产a| 国产精品久久久久永久免费观看 | 国产亚洲精品免费| 亚洲男女毛片无遮挡| 看电视剧不卡顿的网站| 一本在线高清不卡dvd| 精品理论电影在线| 国产色综合久久| 亚洲一区视频在线| 国产一区亚洲一区| 欧美视频精品在线观看| 亚洲欧洲色图综合| 国产尤物一区二区| 欧美一级淫片007| 午夜在线成人av| 91电影在线观看| 亚洲三级电影全部在线观看高清| 国内不卡的二区三区中文字幕| 欧美性欧美巨大黑白大战| 国产精品―色哟哟| 性做久久久久久久免费看| 成人少妇影院yyyy| 国产精品天干天干在线综合| 国产+成+人+亚洲欧洲自线| 久久亚洲综合av| 成人小视频免费在线观看| 久久久久久一级片| 国产精品一区二区三区四区| 国产女同互慰高潮91漫画| 成人av网址在线观看| 亚洲免费伊人电影| 欧美午夜片在线观看| 日韩精品一区第一页| 精品国产伦一区二区三区免费| 国产精品国产精品国产专区不蜜| 精品少妇一区二区三区日产乱码 | 国产精品91一区二区| 国产农村妇女毛片精品久久麻豆 | 色综合久久久久| 麻豆91在线看| 一区二区三区在线影院| 精品成人在线观看| 欧美中文字幕一区二区三区亚洲| 日本欧美在线看| 91丝袜美腿高跟国产极品老师 | 欧美无砖专区一中文字| 亚洲一区二区三区在线播放| www欧美成人18+| 欧美在线|欧美| 丰满少妇久久久久久久| 热久久久久久久| 亚洲欧美日韩精品久久久久| 久久久久久免费毛片精品| 91精品黄色片免费大全| 91亚洲大成网污www| 精品亚洲国内自在自线福利| 亚洲一级二级在线| 中文字幕在线不卡一区| 久久女同互慰一区二区三区| 日韩欧美国产成人一区二区| 91精品国产入口在线| 欧美高清dvd| 日韩精品在线一区| 日韩视频免费观看高清完整版 | 欧美日韩卡一卡二| 欧美日韩专区在线| 91麻豆精品国产自产在线观看一区 | 精品国产123| 精品国产91洋老外米糕| 久久久高清一区二区三区| 久久久久高清精品| 欧美国产禁国产网站cc| 国产精品亲子乱子伦xxxx裸| 国产精品毛片无遮挡高清| 欧美激情一区二区在线| 国产精品久久久久久久久免费丝袜 | 国产精品一区在线| 国产麻豆精品在线观看| 国产一区二区三区电影在线观看| 韩国精品久久久| 亚洲精品乱码久久久久久黑人| 一区二区三区中文字幕电影 | 亚洲成人av免费| 国产一区亚洲一区| 日本韩国欧美在线| 国产亚洲精品久| 午夜精品久久久久久久蜜桃app| 久久精品国产精品亚洲精品| 91免费看`日韩一区二区| 欧美精品乱码久久久久久 | 国产精品网站在线| 老司机精品视频在线| 91久久免费观看| 国产婷婷一区二区| 亚洲与欧洲av电影| 岛国精品一区二区| 日韩欧美精品在线视频| 亚洲精品久久嫩草网站秘色| 国产精品自拍一区| 日韩一级欧美一级| 日韩国产欧美视频| 欧美日韩免费观看一区二区三区| 国产偷v国产偷v亚洲高清| 国内精品久久久久影院薰衣草| 欧美一区二区三级| 老司机午夜精品| 国产亚洲一二三区| 成人av在线一区二区| 亚洲男人电影天堂| 欧美视频在线观看一区二区| 国产精品美女www爽爽爽| 99久久伊人精品| 亚洲第一在线综合网站| 日韩一区二区免费在线电影| 久草中文综合在线| 国产欧美一区二区精品婷婷| 色综合色狠狠天天综合色| 亚洲成av人在线观看| 色噜噜狠狠色综合中国| 丝袜美腿成人在线| 国产在线不卡一卡二卡三卡四卡| 99久久精品国产观看| 91精品国产综合久久精品app | 国产精品正在播放| 日韩视频在线一区二区| 狠狠色丁香九九婷婷综合五月| av在线播放成人| 国产精品伊人色| 成人avav影音| 色av一区二区| 欧美伊人久久久久久午夜久久久久| 欧美aaa在线|