當前位置: 首頁>>技術教程>>正文


(Ubuntu)Linux文件複製算法是否比Windows 7更好?

, , , ,

問題描述

自Windows Vista以來,Windows複製確實是一團糟。甚至Microsoft都聲稱他們已經從用戶的角度提高了性能,這並不是很明顯。即使使用單個文件,對於’Calculating’,複製窗口也會顯示太多時間,然後完成複製(即使在100%完成後,有時對話框仍處於活動狀態)。

同時,我在Ubuntu Linux中備份了一些文件。我覺得那真的很快。可能是由於更快的UI更新引起的感覺。

我從Jeff Atwood few years back on Windows File Copying閱讀了一篇內容豐富的文章。但是我的具體問題是什麽

  • (Ubuntu)Linux文件性能是否優於Windows-7?

  • Windows和Linux是否都在利用算法和流水線機製來提高速度?如果是,哪個更好?

最佳解決方法

Windows內置的標準copy並不是很好,但是Windows附帶了兩個效率更高的高級命令:xcopyrobocopy。特別是當您需要完全控製ACLs等高級文件係統功能或備用數據流時,robocopy是首選工具。

例如,如果要複製大型目錄結構,則可能希望目標沒有碎片。 robocopy的標準調用已經非常擅長此操作,但是由於目錄條目是在創建子目錄時更新的,因此仍然可以得到零散的目錄。為避免這種情況,您可以分兩次運行robocopy,第一個過程僅創建目標目錄結構而不複製任何文件內容,第二個過程實際複製文件主體。

總之,robocopy非常高效,並且完全了解NTFS功能。

次佳解決方法

從Ubuntu Linux中看到的某些速度可能是文件緩存。據我所知,Linux中的文件複製不竭力減少文件緩存的使用。

在Linux中,當您複製一個小於RAM約50%的文件時,整個文件將被複製到文件緩存中,然後在時間允許的情況下寫入磁盤。這看起來非常快,但是它會迫使其他更有用的文件脫離緩存。這些可能是Web緩存文件,電子郵件,配置文件,字體文件等。

Windows XP也用於複製,而不考慮文件緩存。但是在Windows Vista中,Microsoft changed Explorer so that when it copies it uses a limited amount of file cache。這樣可以減少大文件副本對係統其餘部分的影響。但這也將相對較小的文件複製速度降低到了硬盤速度。

參考資料

本文由Ubuntu問答整理, 博文地址: https://ubuntuqa.com/zh-tw/article/7600.html,未經允許,請勿轉載。