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

时间:2024-05-21 20:31:25

最近折腾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界面中安装:

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

 

 

终端中安装:

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

 

安装cpulimit-luci

luci界面中安装:

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

 

终端中安装:

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

 

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

利用cpulimit-ng限制Transmission CPU占用防止系统自动重启这里将Transmission的CPU占用率限制在30%

 

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

利用cpulimit-ng限制Transmission CPU占用防止系统自动重启此时,CPU的占用率就被限制在了30%。

 

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

 

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

#安装
[email protected]:/tmp# opkg install cpulimit-ng_1.2-1_ar71xx.ipk
Installing cpulimit-ng (1.2-1) to root…
Configuring cpulimit-ng.
#使用参数
[email protected]:/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 <[email protected]>.
# 范例,限制 TR 最多 15% cpu
[email protected]:/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%