centos7限制cpu使用_Centos7 - 使用cgroups限制进程资源
cgroups簡介
控制組(cgroups)是一個linux內核特性,它允許你指定內核應該如何給一個進程組分配特定的資源。你可以用cgroups指定在某一個組中的進程使用多少cpu時間、系統內存、網絡帶寬、或者這些資源的組合。
(選自馬哥教育的微信公眾平臺)
cgroups使用#?下載一個可以模擬cpu高負載的工具,mathomatic是質數生成器,會加大處理器的負荷
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系統需要安裝libcgroup-tools包,才有cgroup配置命令
yum?install?-y?libcgroup-tools.x86_64
#?創建兩個不同cpu資源分配的組
cgcreate?-g?cpu:/large??????#?具體命令使用cgcreate?-h
cgcreate?-g?cpu:/small
#?cpu.shares是cpu控制的一個屬性,更多的屬性
#?可以到/sys/fs/cgroup/cpu目錄下查看,默認值是1024,值越大,能獲得更多的cpu時間
cgset?-r?cpu.shares=512?small
#?cgexec啟動一個cgroup任務
matho-primes?0?999999999?>?/dev/null?&??#?生成一個從0到999999999的質數列表
cgexec?-g?cpu:small?/usr/local/bin/matho-primes?0?999999999?>?/dev/null?&?#?后臺運行
#?使用top命令查看發現cpu被100%占用,因為是一個單獨的進程,它使用盡可能多的cpu
#?cgroups限制僅在兩個或多個以上進程競爭cpu資源時起作用
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組中起兩個matho-primes進程,然后top觀察cpu時間
#?small組兩個matho-primes進程差不多共享cpu,large組的進程得到更多的cpu時間
下次打算將cgroups應用到我們的計算存儲一體機上,用來限制glusterfs進程和nova-compute,避免存儲服務和計算服務搶占cpu等資源。
總結
以上是生活随笔為你收集整理的centos7限制cpu使用_Centos7 - 使用cgroups限制进程资源的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 不采取任何措施 盒盖_得了癌症如果不化疗
- 下一篇: python字符串添加成员_Python