我最近为我的旧硬盘买了一个外置 USB3 外壳,并用 UDF 对其进行格式化,以便从我的 Ubuntu 14.04 和 OSX 机器备份内容。这工作正常,在 Linux 下写入“小”文件时,我的速度达到 50MB/s 以上。但是,我在处理一个大约 21GB 大小的特定文件时遇到了麻烦。
在复制完 16GB 之前,传输一切正常。此后,cp 开始使用 100% 的 CPU(尽管只有单个核心),并且根据 iotop,传输速率仅为 500K/s 左右。这意味着复制剩余的 5GB 需要很长时间。
我注意到的另一件事是,当发生这种情况并且外部磁盘与我的 Wifi 加密狗连接到同一个 USB 根时,网络变得完全不可用。
这是 cp 使用 100% CPU 的情况
top - 20:07:46 up 5:25, 4 users, load average: 1,01, 1,05, 0,98
Tasks: 225 total, 2 running, 223 sleeping, 0 stopped, 0 zombie
%Cpu(s): 1,0 us, 25,2 sy, 0,0 ni, 73,7 id, 0,1 wa, 0,0 hi, 0,0 si, 0,0 st
KiB Mem: 8118248 total, 7993696 used, 124552 free, 316844 buffers
KiB Swap: 7811064 total, 0 used, 7811064 free. 5673408 cached Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
15975 kai 20 0 19520 2524 2368 R 100,0 0,0 24:20.01 cp
以下是 iotop 的输出
Total DISK READ : 504.39 K/s | Total DISK WRITE : 382.23 K/s
Actual DISK READ: 504.39 K/s | Actual DISK WRITE: 0.00 B/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
15975 be/4 kai 504.39 K/s 382.23 K/s 0.00 % 0.00 % cp -a -v ~2.0.8.sh .
顺便说一句,使用 nautilus 复制文件时也出现同样的症状。
知道是什么原因导致的这种情况吗,或者如何着手追踪该问题?