centos7限制cpu使用_Centos7 - 使用cgroups限制进程资源
cgroups簡(jiǎn)介
控制組(cgroups)是一個(gè)linux內(nèi)核特性,它允許你指定內(nèi)核應(yīng)該如何給一個(gè)進(jìn)程組分配特定的資源。你可以用cgroups指定在某一個(gè)組中的進(jìn)程使用多少cpu時(shí)間、系統(tǒng)內(nèi)存、網(wǎng)絡(luò)帶寬、或者這些資源的組合。
(選自馬哥教育的微信公眾平臺(tái))
cgroups使用#?下載一個(gè)可以模擬cpu高負(fù)載的工具,mathomatic是質(zhì)數(shù)生成器,會(huì)加大處理器的負(fù)荷
wget?http://mathomatic.orgserve.de/mathomatic-16.0.5.tar.bz2
tar?xf?mathomatic-16.0.5.tar.bz2
cd?mathomatic-16.0.5/primes/
make?&&?make?install????????#??編譯安裝
#?centos7系統(tǒng)需要安裝libcgroup-tools包,才有cgroup配置命令
yum?install?-y?libcgroup-tools.x86_64
#?創(chuàng)建兩個(gè)不同cpu資源分配的組
cgcreate?-g?cpu:/large??????#?具體命令使用cgcreate?-h
cgcreate?-g?cpu:/small
#?cpu.shares是cpu控制的一個(gè)屬性,更多的屬性
#?可以到/sys/fs/cgroup/cpu目錄下查看,默認(rèn)值是1024,值越大,能獲得更多的cpu時(shí)間
cgset?-r?cpu.shares=512?small
#?cgexec啟動(dòng)一個(gè)cgroup任務(wù)
matho-primes?0?999999999?>?/dev/null?&??#?生成一個(gè)從0到999999999的質(zhì)數(shù)列表
cgexec?-g?cpu:small?/usr/local/bin/matho-primes?0?999999999?>?/dev/null?&?#?后臺(tái)運(yùn)行
#?使用top命令查看發(fā)現(xiàn)cpu被100%占用,因?yàn)槭且粋€(gè)單獨(dú)的進(jìn)程,它使用盡可能多的cpu
#?cgroups限制僅在兩個(gè)或多個(gè)以上進(jìn)程競(jìng)爭(zhēng)cpu資源時(shí)起作用
PID?USER??????PR??NI????VIRT????RES????SHR?S??%CPU?%MEM?????TIME+?COMMAND
6726?root??????20???0????9208???2540????488?R??99.9??0.0???0:34.47?matho-primes
cgexec?-g?cpu:large?/usr/local/bin/matho-primes?0?9999999999?>?/dev/null
cgexec?-g?cpu:small?/usr/local/bin/matho-primes?0?9999999999?>?/dev/null
cgexec?-g?cpu:small?/usr/local/bin/matho-primes?0?9999999999?>?/dev/null
#?在small組中起兩個(gè)matho-primes進(jìn)程,然后top觀察cpu時(shí)間
#?small組兩個(gè)matho-primes進(jìn)程差不多共享cpu,large組的進(jìn)程得到更多的cpu時(shí)間
下次打算將cgroups應(yīng)用到我們的計(jì)算存儲(chǔ)一體機(jī)上,用來限制glusterfs進(jìn)程和nova-compute,避免存儲(chǔ)服務(wù)和計(jì)算服務(wù)搶占cpu等資源。
總結(jié)
以上是生活随笔為你收集整理的centos7限制cpu使用_Centos7 - 使用cgroups限制进程资源的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 不采取任何措施 盒盖_得了癌症如果不化疗
- 下一篇: Centos DHCP服务搭建及测试