linux 提升cpu权限,CPUlimit有效防止Linux系统CPU过载
最近使用Nginx服務器測試 pagespeed 的加速效果時,發現這貨會造成 CPU 占用過高,Nginx 經常 100%,盡管使用的是靜態緩存,總是觸發主機商的CPU占用上限,不停的被強制關機。發現 CPULimit 這款工具剛好可以解決這個問題,便在此記錄一下 CentOS 6 下 CPULimit 的安裝和使用過程。其實也可以使用 nice 管理進程的優先級也能達到類似的效果。
參數介紹
先了解一下 cpulimit 的參數:[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 //如果限制的進程不存在了,則退出。
-i, --include-children limit also the children processes //包括子進程
-h, --help display this help and exit //幫助,顯示參數
TARGET must be exactly one of these:
-p, --pid=N pid of the process (implies -z) //進程的pid
-e, --exe=FILE name of the executable program file or path name //可執行程序或進程路徑
COMMAND [ARGS] run this command and limit it (implies -z) //限制某一條命令執行的cup占用
開始安裝
Linux / OS X 系統,執行: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、根據進程ID限制cpulimit -p 1234 -l 40
指限制 pid 為1234的進程,最高只能使用40%的cpu用率。
2、根據進程路徑限制cpulimit -e /usr/local/nginx-1.4.1/sbin/nginx -l 50
指限制 nginx 程序最高只能使用50%的cpu用率。
3、限制某一條命令執行的cup占用cpulimit -l 60 unzip 5555.zip
指限制解壓 5555.zip 這個進程的cpu占用上限值為 60%
注意事項-l 后面限制的cpu使用量,要根據實際的核心數量而成倍減少。比如上文中的進程1234,40%的限制生效在1核服務器中,如果是雙核服務器,則應該限制到20%,四核服務器限制到10%以此類推。
root 用戶可以限制所有的進程,普通用戶只能限制自己有權限管理的進程。
通過某一條命令執行限制cup占用的,請注意 cpulimit 只針對單個進程進行限制。若命令包含兩個進程則無效。
最后
除了 cpulimit 其實我們還可以通過 nice 命令工具實現合理化使用系統資源的目的。
總結
以上是生活随笔為你收集整理的linux 提升cpu权限,CPUlimit有效防止Linux系统CPU过载的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux内核配置usb虚拟串口,Lin
- 下一篇: qt linux opensource