如何分析为什么在 ntfs 驱动器上快速复制一些文件后 rsync 复制速度却很慢?

如何分析为什么在 ntfs 驱动器上快速复制一些文件后 rsync 复制速度却很慢?

我正在使用 rsync 将大约 2Tb 的数据从 ntfs 磁盘备份到另一个 ntfs 磁盘(我也尝试使用 midnight commander),并且复制以“良好”的 25Mb/s 速度开始,但是复制几 GB 之后,速度下降到大约 5Mb/s,有时甚至更低。

如果我停止复制并重新启动 rsync 来继续复制,速度将再次从 25Mb/s 左右开始,然后回到 5Mb/s。

这是 rsync 的开始,从这里开始一切都会慢慢复制。

>f+++++++++ _University Courses/Harvard/Harvard - Advanced Algorithms 2016/11-Advanced Algorithms (COMPSCI 224), Lecture 11.mp4
    502,527,183 100%   25.29MB/s    0:00:18 (xfr#2, ir-chk=1021/53136)
>f+++++++++ _University Courses/Harvard/Harvard - Advanced Algorithms 2016/12-Advanced Algorithms (COMPSCI 224), Lecture 12.mp4
    494,046,164 100%   25.45MB/s    0:00:18 (xfr#3, ir-chk=1020/53136)
>f+++++++++ _University Courses/Harvard/Harvard - Advanced Algorithms 2016/13-Advanced Algorithms (COMPSCI 224), Lecture 13.mp4
    389,502,911 100%   25.77MB/s    0:00:14 (xfr#4, ir-chk=1019/53136)
>f+++++++++ _University Courses/Harvard/Harvard - Advanced Algorithms 2016/14-Advanced Algorithms (COMPSCI 224), Lecture 15.mp4
    401,384,534 100%   14.92MB/s    0:00:25 (xfr#5, ir-chk=1018/53136)
>f+++++++++ _University Courses/Harvard/Harvard - Advanced Algorithms 2016/15-Advanced Algorithms (COMPSCI 224), Lecture 16.mp4
    498,564,894 100%    4.94MB/s    0:01:36 (xfr#6, ir-chk=1017/53136)
>f+++++++++ _University Courses/Harvard/Harvard - Advanced Algorithms 2016/16-Advanced Algorithms (COMPSCI 224), Lecture 17.mp4
    417,205,204 100%    2.30MB/s    0:02:52 (xfr#7, ir-chk=1016/53136)
>f+++++++++ _University Courses/Harvard/Harvard - Advanced Algorithms 2016/17-Advanced Algorithms (COMPSCI 224), Lecture 18.mp4
    495,885,960 100%    6.16MB/s    0:01:16 (xfr#8, ir-chk=1015/53136)
>f+++++++++ _University Courses/Harvard/Harvard - Advanced Algorithms 2016/18-Advanced Algorithms (COMPSCI 224), Lecture 19.mp4
    475,335,986 100%    2.75MB/s    0:02:45 (xfr#9, ir-chk=1014/53136)
>f+++++++++ _University Courses/Harvard/Harvard - Advanced Algorithms 2016/19-Advanced Algorithms (COMPSCI 224), Lecture 20.mp4
    485,359,371 100%    1.40MB/s    0:05:29 (xfr#10, ir-chk=1013/53136)
>f+++++++++ _University Courses/Harvard/Harvard - Advanced Algorithms 2016/20-Advanced Algorithms (COMPSCI 224), Lecture 21.mp4
    505,021,448 100%    6.46MB/s    0:01:14 (xfr#11, ir-chk=1012/53136)
>f+++++++++ _University Courses/Harvard/Harvard - Advanced Algorithms 2016/21-Advanced Algorithms (COMPSCI 224), Lecture 22.mp4

驱动器没有明显的碎片。

我尝试使用 big_writes 和异步选项安装驱动器,但没有看到任何区别。

我使用 hdparm 测试了带缓存和不带缓存的速度,速度都比 25Mb/s 快。

我使用 iostat 监控发现 %rwqm 非常高,但我不知道这是否不好或正常。

在此处输入图片描述

我正在尝试寻找瓶颈或问题,但我无法找到它,任何关于如何监控和分析问题的帮助都将不胜感激。

更新:我尝试禁用磁盘写入缓存,以检查驱动器填满缓存后是否出现速度下降:

sudo hdparm -W0 /dev/sde

但问题仍然存在并且驱动器的行为也一样。

更新:

$ free -h                                                                                                                          
total        used        free      shared  buff/cache   available                                                                  
Mem:          7.5Gi       1.1Gi       146Mi        13Mi       6.2Gi       6.1Gi                                                                  
Swap:            0B          0B          0B    
                                                                                              
$ sudo dmidecode -s bios-version                                                                                     
4.6.4                                                                                                                                            

$ sysctl vm.swappiness                                                                                               
  vm.swappiness = 60

$ top

top - 21:16:09 up 6 days, 23:40,  5 users,  load average: 3.45, 2.89, 2.58
Tasks: 179 total,   1 running, 178 sleeping,   0 stopped,   0 zombie
%Cpu(s): 12.5 us, 20.1 sy,  0.0 ni, 17.4 id, 48.4 wa,  0.0 hi,  1.6 si,  0.0 st
MiB Mem :   7689.6 total,    254.0 free,   1151.4 used,   6284.2 buff/cache
MiB Swap:      0.0 total,      0.0 free,      0.0 used.   6225.8 avail Mem 
                                                                    
PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND

7320 usuario   20   0  284924 172348   1288 S  13.5   2.2   1:53.63 rsync                                                                        
7305 usuario   20   0  174100  92956   2748 S  12.9   1.2   2:13.81 rsync                                                                       
17809 usuario   20   0 1754596 476276  18104 S  11.9   6.0   2080:14 kodi-x11                                                                    
27195 root      20   0   18972   9736   1840 S   7.9   0.1  58:03.15 mount.ntfs                                                                  
14377 root      20   0   19948  10536   1764 S   6.3   0.1 126:50.65 mount.ntfs                                                                  
13856 root      20   0       0      0      0 S   3.3   0.0  52:25.26 usb-storage                                                                   
132 root      20   0       0      0      0 S   3.0   0.0 221:29.02 kswapd0                                                                     
25821 usuario   20   0   23816  14980   2884 S   2.3   0.2   9:46.40 tmux: server                                                                 
4909 root      20   0       0      0      0 D

交换文件创建后更新:

free -h预减速:

$ free -h
              total        used        free      shared  buff/cache   available
Mem:          7.5Gi       427Mi       135Mi        11Mi       7.0Gi       6.8Gi
Swap:         4.0Gi       3.0Mi       4.0Gi

free -h减速期间:

$ free -h
              total        used        free      shared  buff/cache   available
Mem:          7.5Gi       421Mi       127Mi        11Mi       7.0Gi       6.8Gi
Swap:         4.0Gi       8.0Mi       4.0Gi

但复制几个文件后速度仍然很慢:

sending incremental file list
.d..t...... _University Courses/MIT/MIT - Computers System Security 2014/
>f+++++++++ _University Courses/MIT/MIT - Computers System Security 2014/19-20. Mobile Phone Security.mp4
    866,880,572 100%   28.03MB/s    0:00:29 (xfr#1, ir-chk=1003/53245)
>f+++++++++ _University Courses/MIT/MIT - Computers System Security 2014/20-21. Data Tracking.mp4
    666,687,288 100%   27.70MB/s    0:00:22 (xfr#2, ir-chk=1002/53245)
>f+++++++++ _University Courses/MIT/MIT - Computers System Security 2014/21-22. Guest Lecture by MIT IS&T.mp4
    716,033,570 100%   25.97MB/s    0:00:26 (xfr#3, ir-chk=1001/53245)
>f+++++++++ _University Courses/MIT/MIT - Computers System Security 2014/22-23. Security Economics.mp4
    693,628,642 100%   25.63MB/s    0:00:25 (xfr#4, ir-chk=1000/53245)
>f+++++++++ _University Courses/MIT/MIT - Design and Analysis of Algorithms 2015/01-1. Course Overview, Interval Scheduling.mp4
  1,069,906,667 100%   24.40MB/s    0:00:41 (xfr#5, ir-chk=1122/53368)
>f+++++++++ _University Courses/MIT/MIT - Design and Analysis of Algorithms 2015/02-2. Divide & Conquer - Convex Hull, Median Finding.mp4
    919,036,317 100%    3.29MB/s    0:04:26 (xfr#6, ir-chk=1121/53368)
>f+++++++++ _University Courses/MIT/MIT - Design and Analysis of Algorithms 2015/03-R1. Matrix Multiplication and the Master Theorem.mp4
     67,469,312   6%    4.71MB/s    0:03:23

答案1

您没有 SWAP!

让我们创建一个 4G /swapfile...

笔记:命令使用不当dd可能导致数据丢失。建议复制/粘贴。

sudo swapoff -a           # turn off swap
sudo rm -i /swapfile      # remove old /swapfile

sudo dd if=/dev/zero of=/swapfile bs=1M count=4096

sudo chmod 600 /swapfile  # set proper file protections
sudo mkswap /swapfile     # init /swapfile
sudo swapon /swapfile     # turn on swap
free -h                   # confirm 8G RAM and 4G swap

确认 /etc/fstab 中的此行...并确认没有其他“交换”行...

/swapfile    none    swap    sw      0   0

reboot                    # reboot and verify operation

更新#1:

创建 /swapfile 并不能解决复制速度问题。

但是,我们在外部驱动器上放置了一个新的 GPT 分区表,并创建了一个新的 ext4 分区(Linux 原生),而不是 NTFS(非 Linux 原生),并且复制以预期的速度进行。

进一步测试,看看返回 NTFS 分区是否会再次导致问题,证明ntfs-3g已安装的分区是问题所在。建议尝试ntfs已安装的分区。

更新 #2:

解决了!。是 ntfs 驱动程序的问题,ntfs 和 ntfs-3g 非常非常慢。我一直在寻找,发现 Paragon 开发了其商业 ntfs 内核空间驱动程序的免费版本。我安装了它,经过十个小时的复制后,仍然以 40Mb/s 的速度复制,没有任何问题。 https://www.paragon-software.com/home/ntfs-linux-professional/

相关内容