我一直想知道为什么我的电脑一开始会高速将文件复制到外部驱动器,然后“挂起”一段时间才能继续。当我将 RAM 从 1GB 升级到 2GB 时,我注意到这种“挂起”的情况少了很多。我现在得出一个“结论”,RAM 用于存储数据,然后将其复制到驱动器,因此当我复制大于 RAM 的内容时,需要“批量”进行。这有道理吗?会发生这种情况吗?此外,这是否意味着如果我增加几 GB 的 RAM,我很可能可以复制更大的文件并获得更恒定的速度?
我正在使用 Ubuntu Linux。
答案1
您正在见证一场“数据缓冲区“,它是(实际上)所有计算机的标准部件。
来自维基百科链接:
在计算机科学中,缓冲区是物理存储器的一个区域,用于在数据从一个地方移动到另一个地方时临时保存数据。
缓冲区通常与硬件 I/O 结合使用,例如磁盘驱动器......
简而言之:是的,你的想法是正确的,增加 RAM 将有助于加快文件传输速度。不过,差异取决于 RAM 之外的许多因素(文件大小、文件数量等),并且长期存储介质(磁盘)在 99% 的时间里都是速度的瓶颈。
答案2
您说得对,数据先读入 RAM,然后才安排写入磁盘。只要有更多可用 RAM,就不需要延迟读取以让写入跟上。但是,实际写入速度不会受到影响。复制完成时,写入实际上尚未完成。操作系统继续将数据从 RAM 刷新到磁盘。