为什么 rsync 会使我的整个计算机变慢?

为什么 rsync 会使我的整个计算机变慢?

当我从内置驱动器 rsync 到连接的 USB3 NTFS 驱动器时,我强大的 Linux 桌面(12 核、32GB RAM、SSD、快速处理器、ubuntu 13.10)的速度会变得非常缓慢。输入任何命令(如“df”或“ls”)都需要 5-10 秒才能响应。这种缓慢的感觉让我想起了一台频繁交换的计算机,但“free”命令显示交换大小为零,有 29GB 的可用 RAM(缓冲区)。“uptime”显示平均负载约为 4.0,“top”显示排名靠前的进程是 rsync 命令。我还看到排名靠前的几个进程中有 kswapd0,但没有使用交换空间,而且有大量的可用 RAM。

即使我以 19 的“良好”级别运行 rsync,速度也会出现减慢。在我终止 rsync 之后,速度减慢也会持续大约 1-2 分钟。

我的其他 ext4 USB3 磁盘没有出现速度减慢的情况。

实际传输到 USB 磁盘的速率很好:并不慢。我问的是 rsync 期间对系统可用性的严重影响。有人知道为什么会发生这种情况以及如何防止它吗?

USB 磁盘上的一些磁盘信息:

$ sudo hdparm -acdgkmurABCMNQW /dev/sdi1

/dev/sdi1:
 multcount     =  0 (off)
 readonly      =  0 (off)
 readahead     = 256 (on)
 geometry      = 364799/255/63, sectors = 5860507648, start = 16384
 drive state is:  active/idle
 look-ahead    =  1 (on)
 write-caching =  1 (on)
 APM_level      = 128
 acoustic      = not supported
 max sectors   = 5860533168/5860533168, HPA is disabled

我从上面的输出中省略了这些错误,大概是由于不受支持的功能:

 HDIO_GET_32BIT failed: Invalid argument
 HDIO_GET_UNMASKINTR failed: Invalid argument
 HDIO_GET_DMA failed: Invalid argument
 /sys/block/sdi/sdi1/device/queue_depth: No such file or directory
 HDIO_GET_KEEPSETTINGS failed: Invalid argument

答案1

回答我自己的问题:答案是“用户错误”。整个 USB/NTFS 事件都是一个转移注意力的花招!

我的rsync命令是应该将我的内部驱动器备份到外部 USB 驱动器,如下所示:

$ rsync -avx / /media/backupdrive

然而,在最近的操作系统升级之后,Ubuntu 将自动挂载目标更改为 /media/用户名/backupdrive,将我的用户名插入路径。因此,我的脚本实际上并没有访问 USB 驱动器,而是在启动驱动器上本地写入 /media。

换句话说,我的启动驱动器(SSD)正在锤击rsync填充至 100%。这导致系统缓慢。

相关内容