![传输大文件会导致源计算机和目标计算机的 CPU 和网络激增](https://linux22.com/image/1437528/%E4%BC%A0%E8%BE%93%E5%A4%A7%E6%96%87%E4%BB%B6%E4%BC%9A%E5%AF%BC%E8%87%B4%E6%BA%90%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%92%8C%E7%9B%AE%E6%A0%87%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%9A%84%20CPU%20%E5%92%8C%E7%BD%91%E7%BB%9C%E6%BF%80%E5%A2%9E.png)
我有两台电脑,都运行 Windows 8.1,都使用有线网络连接。我需要将文件从机器 A 传输到机器 B。
机器 A 是一台主力机器:
Core I7-4770K
16GB RAM
Gigabit LAN
机器 B 是 HP 超薄台式机的驴子:
AMD Athlon II X2 220
4GB RAM
10-Base T network <-- yes, seriously, not 10/100.
我将两台计算机都纳入家庭组,并打开文件共享以传输文件。问题是,当我传输文件时,它基本上会杀死两台计算机。机器 B 的网络使用率达到 99%,CPU 也飙升至 99%。我可以忍受这种情况,但机器 A 也变得基本上无法使用,与外界的网络 ping 时间飙升至 1000 毫秒以上。
我并不关心移动这些文件是否需要一段时间,但我希望在传输过程中机器 A 保持可用。我可以采取什么措施来限制机器 B 的吞吐量?
我已经开始使用带有 USB 的 sneakernet 传输,并且如果有意义的话可以设置一个 FTP 服务器,但如果我仍然要淹没机器,我就不想这样做。
答案1
我可以看到它使网络使用率达到最大值,但我完全不确定 CPU 使用率是否达到 100%。这可能是文件共享方法造成的。除非是读取磁盘和/或网络本身造成的……否则这将是错误的。
研究 FTP 服务器/客户端安排可能对 CPU 来说更容易。并且如果服务器暴露在互联网上,甚至是 SSH,则需要安全服务器。