linux 提升cpu权限,CPUlimit有效防止Linux系统CPU过载
最近使用Nginx服務(wù)器測試 pagespeed 的加速效果時(shí),發(fā)現(xiàn)這貨會(huì)造成 CPU 占用過高,Nginx 經(jīng)常 100%,盡管使用的是靜態(tài)緩存,總是觸發(fā)主機(jī)商的CPU占用上限,不停的被強(qiáng)制關(guān)機(jī)。發(fā)現(xiàn) CPULimit 這款工具剛好可以解決這個(gè)問題,便在此記錄一下 CentOS 6 下 CPULimit 的安裝和使用過程。其實(shí)也可以使用 nice 管理進(jìn)程的優(yōu)先級也能達(dá)到類似的效果。
參數(shù)介紹
先了解一下 cpulimit 的參數(shù):[root@bruce ~]# cpulimit -h
Usage: cpulimit [OPTIONS...] TARGET
OPTIONS
-l, --limit=N percentage of cpu allowed from 0 to 200 (required) //cpu限制的百分比
-v, --verbose show control statistics //顯示版本號
-z, --lazy exit if there is no target process, or if it dies //如果限制的進(jìn)程不存在了,則退出。
-i, --include-children limit also the children processes //包括子進(jìn)程
-h, --help display this help and exit //幫助,顯示參數(shù)
TARGET must be exactly one of these:
-p, --pid=N pid of the process (implies -z) //進(jìn)程的pid
-e, --exe=FILE name of the executable program file or path name //可執(zhí)行程序或進(jìn)程路徑
COMMAND [ARGS] run this command and limit it (implies -z) //限制某一條命令執(zhí)行的cup占用
開始安裝
Linux / OS X 系統(tǒng),執(zhí)行:cd /tmp
wget https://github.com/opsengine/cpulimit/archive/v0.2.zip
unzip v0.2.zip
cd cpulimit-0.2
make
cp src/cpulimit /usr/bin
安裝完成!
使用方法
1、根據(jù)進(jìn)程ID限制cpulimit -p 1234 -l 40
指限制 pid 為1234的進(jìn)程,最高只能使用40%的cpu用率。
2、根據(jù)進(jìn)程路徑限制cpulimit -e /usr/local/nginx-1.4.1/sbin/nginx -l 50
指限制 nginx 程序最高只能使用50%的cpu用率。
3、限制某一條命令執(zhí)行的cup占用cpulimit -l 60 unzip 5555.zip
指限制解壓 5555.zip 這個(gè)進(jìn)程的cpu占用上限值為 60%
注意事項(xiàng)-l 后面限制的cpu使用量,要根據(jù)實(shí)際的核心數(shù)量而成倍減少。比如上文中的進(jìn)程1234,40%的限制生效在1核服務(wù)器中,如果是雙核服務(wù)器,則應(yīng)該限制到20%,四核服務(wù)器限制到10%以此類推。
root 用戶可以限制所有的進(jìn)程,普通用戶只能限制自己有權(quán)限管理的進(jìn)程。
通過某一條命令執(zhí)行限制cup占用的,請注意 cpulimit 只針對單個(gè)進(jìn)程進(jìn)行限制。若命令包含兩個(gè)進(jìn)程則無效。
最后
除了 cpulimit 其實(shí)我們還可以通過 nice 命令工具實(shí)現(xiàn)合理化使用系統(tǒng)資源的目的。
總結(jié)
以上是生活随笔為你收集整理的linux 提升cpu权限,CPUlimit有效防止Linux系统CPU过载的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux内核配置usb虚拟串口,Lin
- 下一篇: qt linux opensource