我可以在哪里限制复制文件进程的处理器使用率?

我可以在哪里限制复制文件进程的处理器使用率?

如何限制正在运行的复制过程的处理器使用限制?我和我的朋友计划用一台 PC 来托管服务器,我们需要知道如何限制复制过程的处理器使用,因为上次我们做了一台主机,每次我们复制新文件时,服务器就开始滞后。

答案1

用于niceCPU

CPU 调度优先级由 nice(1) 处理,其含义为:

运行调整了优先级的 COMMAND,这会影响进程调度。如果没有 COMMAND,则打印当前优先级。优先级范围从 -20(最有利的调度)到 19(最不利的调度)。

用于ionice磁盘 I/O

使用ionice -c3将使用空闲优先级进行磁盘 I/O。ionice(1) 手册页说:

以空闲 io 优先级运行的程序只有在定义的宽限期内没有其他程序请求磁盘 io 时才会获得磁盘时间。空闲 io 进程对正常系统活动的影响应该为零。

结合两个选项

为了尽量减少对系统的影响,您可以将两者结合起来。例如:

# Run script with lowest possible CPU and disk priorities.
nice -n19 ionice -c3 foo.sh

答案2

复制对 CPU 的影响很小,它使用的资源是 IO 带宽。

ionice -c2 -n6如果不希望 io密集型命令对其他应用程序造成太大影响,则应在命令前加上前缀。您还可以使用 cgroups 和 blkio 控制器来限制内容,但这会更复杂。

相关内容