限制 tar 读取速度

Zod*_*ddo 7 linux tar io disk

我正在使用tar做机器的备份。但是,它使用了大量 I/O 并降低了整个机器的速度。

那么,有没有办法限制 的读取速度tar

我知道pv,但它只限制写入速度。因为我使用 进行增量备份tar --listed-incremental,所以这仅适用于第一次完整备份(如果只有很小的更改,后续增量备份将消耗大量读取 I/O)。

我试图通过 和 的组合降低备份的整体优先级,但这niceionice没有真正改变任何东西。

信息:它是 Debian 9 机器,文件驻留在 LVM 卷顶部的 ext4 文件系统上。

Hko*_*oof 2

您可以使用 运行 tar 命令ionice。像这样:

ionice -c3 tar --listed-incremental [...]
Run Code Online (Sandbox Code Playgroud)

这将使该tar进程仅在没有其他进程等待 I/O 时才执行 I/O。

在 Debian 中,该ionice实用程序位于 package 中util-linux,因此您可能需要先安装它。

与普通 (cpu)nice实用程序一样,进程的 I/O 调度程序类由其子进程继承。当我计划做需要大量资源的事情时,我不希望用户的 I/O 速度因此变慢。我经常这样启动我的 shell:

nice ionice -c3 bash
Run Code Online (Sandbox Code Playgroud)

那么我从那个 shell 所做的一切都会非常非常好:)