限制脚本的 CPU 占用

限制脚本的 CPU 占用

如何限制备份脚本的 CPU 使用率。它会转储 mysql 数据库并备份我的 www 目录,然后对所有文件进行 bzip2 压缩,但这需要一点时间,在此期间 CPU 负载为 100%。我能否以某种方式将 CPU 限制为最多 25@,备份将花费更多时间,但不会停止其他后台进程。

答案1

您不想按百分比限制其 CPU 使用率 - 毕竟,如果 CPU 没有其他事情可做,它可能会将 100% 专用于您的脚本。

您想确保其他程序有优先事项覆盖您的备份脚本。为此,只需使用以下命令调用脚本nice

nice mybackupscript

这将以低优先级运行脚本,这样,只有当其他进程空闲时它才会获得 CPU。

答案2

CPU限制完全满足您的需要。

答案3

对于备份脚本来说,瓶颈通常不是 CPU,而是磁盘 I/O。如果是这种情况,nice 对系统负载的影响不大。iostat 包含在系统状态,可以帮助您进一步调查。此外,这个帖子详细介绍其他 I/O 实用程序。

伊奥尼采可能会有所帮助。然而,ionice 只适用于CFQ 调度器。CFQ 在 Linux 2.6.18 中成为默认设置。RHEL4 提供 2.6.9 内核,但它在 RHEL4 及更新版本中仍是默认设置。

答案4

以最低优先级运行脚本:

nice -39 /scripts/script_name.sh

相关内容