我正在使用 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/。