我怎样才能限制一个CPU使用情况到我的备份脚本。 它做了一个MySQL数据库转储和备份我的www目录然后bzip2一切,但它需要一点,在这段时间内,一个CPU有100%的负载。 我可以以某种方式限制一个cpu,即最多25 @,它将需要更多的时间来做一个备份,但不会暂停其他后台进程。
你不想限制其CPU使用率百分比 – 毕竟,如果CPU没有其他的事情,它可能会100%的脚本。
你想确保其他程序优先于你的备份脚本。 要做到这一点,只需使用nice
调用脚本:
nice mybackupscript
这将以低优先级运行脚本,这样只有在其他进程闲置时才能得到CPU。
cpulimit正是你所需要的。
通常备份脚本的瓶颈不是CPU,而是磁盘I / O。 如果是这样的话,好的将会对你的系统负载没有什么影响。 iostat包含在SYSSTAT中 ,可以帮助您进一步调查。 另外, 这篇文章详细介绍了其他的I / O工具。
ionice可能会有所帮助。 但是,ionice只能与CFQ调度程序一起使用 。 CFQ成为默认> Linux 2.6.18。 RHEL4提供了2.6.9内核,但是在RHEL4和更新版本上它仍然是默认的。
以最低优先级运行脚本:
nice -39 /scripts/script_name.sh