当前位置: 首页 > 无线与硬件 > 正文

[分享]利用cpulimit-ng限制Transmission CPU占用防止系统自动重启

最近折腾WR703N,采用OPENWRT固件,脱机下载选择aria2和Transmission。aria2主要支持迅雷离线,Transmission适合PT。但问题不断,最主要的问题是不定时的挂载的U盘被自动卸载,或者系统自动重启。将U盘的磁盘格式从ext3更换到ext4,开启swap,限制下载速度,均不起作用,还是会发生宕机的情况。网络搜索也并没有找到实际解决方案。

 

查看后发现Transmission进程的CPU波动范围极大,0%-100%都之间强烈波动。系统负载一直在2-4之间徘徊,大多数时候负载都在3以上。通过搜索,发现有适合wr703n的cpulimit软件。cpulimit是一款限制进程CPU占用的程序,小巧。

将Transmission进程的CPU占用率限制在30%后情况得到很大的改观,即CPU占用率不可超过30%。

 

需要的软件:

cpulimit-ng主程序:http://code.google.com/p/cpulimit-ng/downloads/detail?name=cpulimit-ng_1.2-1_ar71xx.ipk&can=2&q=

cpulimit-ng支持页面:http://code.google.com/p/cpulimit-ng/

cpulimit-ng源码:http://cpulimit-ng.googlecode.com/svn/trunk/

可选择cpulimit-luci,通过web进行进程限制管理。cpulimit-luci依赖于cpulimit-ng才可以使用。不可单独使用。

cpulimit-luci主程序:http://files1.ich8.com/upfiles/2013/luci-app-cpulimit.ipk

 

首先,安装cpulimit。

可在管理页面安装,也可以在终端中安装。

luci界面中安装:

01

 

 

终端中安装:

opkg install http://cpulimit-ng.googlecode.com/files/cpulimit-ng_1.2-1_ar71xx.ipk

 

安装cpulimit-luci

luci界面中安装:

01

 

终端中安装:

opkg install http://files1.ich8.com/upfiles/2013/luci-app-cpulimit.ipk

 

安装完成后,在luci界面 系统 – cpulimit 一项,进行进程CPU占用率限制

6这里将Transmission的CPU占用率限制在30%

 

之后使用top命令查看CPU占用率

8此时,CPU的占用率就被限制在了30%。

 

不过实际测试发现,如果在cpulimit中添加2条限制不同进程CPU占用的命令,cpulimit-ng进程会发生波动异常(CPU占用率非常高),具体原因尚未知晓。

 

=========================================================

#安装
root@OpenWrt:/tmp# opkg install cpulimit-ng_1.2-1_ar71xx.ipk
Installing cpulimit-ng (1.2-1) to root…
Configuring cpulimit-ng.
#使用参数
root@OpenWrt:/tmp# cpulimit-ng
Error: You must specify a cpu limit percentage
Usage: cpulimit-ng [OPTIONS…] TARGET
OPTIONS
-l, –limit=N          percentage of cpu allowed from 0 to 100 (required)
-v, –verbose          show control statistics
-z, –lazy             exit if there is no target process, or if it dies
-i, –ignore-children  don’t limit 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)
-e, –exe=FILE         name of the executable program file or path name
COMMAND [ARGS]         run this command and limit it (implies -z)Report bugs to <marlonx80@hotmail.com>.
# 范例,限制 TR 最多 15% cpu
root@OpenWrt:/tmp# cpulimit-ng -e /usr/bin/transmission-daemon -l 15 -v &
1 cpu detected
name
Process 1110 found
Members in the family owned by 1110: 1

%CPU    work quantum    sleep quantum   active rate
15.64%   95896 us         4103 us       95.90%
14.85%   89539 us        10460 us       89.54%

本文固定链接: http://blog.ich8.com/post/3214 | 霸王硬上弓's Blog

avatar
该日志由 霸王硬上弓 于2013年01月01日发表在 无线与硬件 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: [分享]利用cpulimit-ng限制Transmission CPU占用防止系统自动重启 | 霸王硬上弓's Blog

[分享]利用cpulimit-ng限制Transmission CPU占用防止系统自动重启:等您坐沙发呢!

发表评论

您必须 [ 登录 ] 才能发表留言!