Чи алгоритм копіювання файлів (Ubuntu) Linux кращий, ніж Windows 7?


13

Копіювання Windows - це справжній безлад з часів Windows Vista. Навіть Microsoft стверджує, що вони покращили продуктивність, з точки зору користувача, це не зовсім видно. Навіть з одним файлом у вікні копіювання з’являється занадто багато часу для «Обчислення», а потім закінчення копії (Навіть після 100% завершення деякий час діалогове вікно залишається активним).

Одночасно я створював резервну копію деяких файлів в Ubuntu Linux. Я відчув, що це дуже швидко. Це може бути почуттям, викликаним швидшими оновленнями інтерфейсу користувача.

Я прочитав інформаційний пост від Джеффа Етвуда кілька років тому про копіювання файлів Windows . але які мої конкретні запитання

  • Чи продуктивність файлів (Ubuntu) Linux краща, ніж Windows-7?
  • Чи обидва алгоритми Windows і Linux використовують декілька потоків і механізм конвеєра для підвищення швидкості? Якщо так, то який краще?

3
У Windows використовується xcopyабо навіть robocopy. Значно краще. Наприклад, за допомогою останнього ви можете зробити два проходи, по-перше, щоб створити всі каталоги, але не скопіювати жодні файли, і друге, щоб скопіювати фактичні файли, тим самим не викликаючи фрагментації на ціль.
Керрек СБ


Залежить також від файлової системи - ваша система, імовірно, використовує щось подібне ext3/4, яке тут конкурує з NTFS. Ви можете також спробувати reiserfsі xfs- обидва вони оптимізовані для швидких операцій з невеликими файлами.
new123456

@ KerkerSB, будь ласка, зробіть ваш коментар відповіддю, щоб я міг його схвалити. (Я просто поставив +1 коментарю, але ви знаєте, що я маю на увазі.) Це відповідь.
CarlF

Слід зазначити (хоч на 8 років пізніше!), Що Robocopy / CREATE, хоча дуже корисно для тиражування повної структури каталогів із порожніми файлами, само по собі не запобігає фрагментації файлів на ціль. Структура створюється в MFT, але тоді вміст файлів може бути записаний в будь-якому місці. Зазвичай навіть за один прохід, якщо Robocopy працює з однопотоковою передачею і копіює один файл за один раз, все одно не повинно бути фрагментації (а запуск багатопотокового - це погана ідея, оскільки це значно знижує продуктивність на HDD-копії на жорсткий диск, оскільки механічний привід повинен «шліфувати» набагато більше).
ГабріельB

Відповіді:


6

Стандартний copyвбудований в Windows не дуже хороший, але Windows поставляється з двома вдосконаленими командами, які є набагато ефективнішими: xcopyі robocopy. Особливо, коли вам потрібен повний контроль над розширеними функціями файлової системи, такими як ACL або альтернативні потоки даних, robocopyє інструментом вибору.

Наприклад, якщо ви копіюєте велику структуру каталогів, можливо, ви бажаєте, щоб мета не була фрагментована . Стандартне виклик цього файлу robocopyвже досить добре, але оскільки записи каталогів оновлюються, коли створюються підкаталоги, ви все одно можете отримати фрагментовані каталоги. Щоб цього не допустити, можна запустити robocopyдва проходи, перший з яких створює лише цільову структуру каталогів без копіювання файлового вмісту, а другий фактично копіює файли.

Загалом, robocopyце дуже ефективно і повністю обізнане з функціями NTFS.


Чи ефективніше NTFS, ніж ext3 / 4?
сарат

Як робокопія з двома проходами допомагає нам зменшити фрагментацію, оскільки реальний вміст буде скопійовано пізніше. Розподіл диска повністю контролюється файловим менеджером ні?
сарат

Я роблю кілька хитрощів, як використовувати Beyond Compare для копіювання файлів. Тобто я можу виконати кілька операцій з копіювання, щоб максимально використовувати пропускну здатність. Але я не впевнений, наскільки це буде фрагментарно
сарат

2
@Sarath: Щодо фрагментації: записи каталогів зростають у міру того, як нові файли та підкаталоги додаються до каталогу. Якщо ви просто наївно створюєте каталог і починаєте вводити файли, врешті-решт оригінальний запис каталогу буде занадто малим і його потрібно розширити, але тепер місця немає, оскільки у вас вже є дані про файли, що слідують за ним. За допомогою цього /CREATEпункту створюються порожні файли та підкаталоги, які не займають місця і таким чином дозволяють записати записи каталогів повністю безперервно.
Керрек СБ

1
@Sarath: Щодо порівняння NTFS з Ext, я не можу сказати, оскільки NTFS не є відкритим, а питання ефективності досить розпливчасте. NTFS, безумовно, прекрасний фрагмент технології з великою кількістю функцій. Але насправді вибору немає, тому що ви будете використовувати NTFS в Windows і Ext (або BTRFS) в Linux, і все.
Керрек СБ

4

Певна швидкість, яку ви бачите в Ubuntu Linux, ймовірно, кешування файлів. Наскільки мені відомо, копія файлів в Linux не докладає зусиль, щоб мінімізувати використання кеш-файлів.

При Linux, коли ви копіюєте файл, розмір якого становить приблизно 50% вашої оперативної пам’яті, весь файл копіюється в кеш файлів і потім записується на диск, коли це дозволяє час. Здається, це дуже швидко, але це вимушує інші більш корисні файли з кешу. Це можуть бути файли веб-кешу, електронні листи, конфігураційні файли, файли шрифтів тощо.

Windows XP використовується і для копіювання, без огляду на кеш файлів. Але в Windows Vista Microsoft змінила Провідник, щоб при його копіюванні використовувати обмежений обсяг кеш-файлів . Це зменшує вплив великих копій файлів на решту системи. Але це також знижує швидкість навіть відносно невеликих копій файлів до швидкості жорсткого диска.


Yea Ubuntu, використовуючи механізм кешування файлів. Я також зауважив, що перегляд виконується трохи повільно, коли копіювання тривало. Я також помітив, що швидкість стабільно покращується, особливо під час копіювання великої кількості файлів
сарат

Я думаю, що це відповідь, яка вирішує питання майже повністю.
Nandakumar Edamana

2

У Windows використовуйте Teracopy - це вирішить загальну проблему дурості, яку має Explorer.

В Ubuntu я знайшов дуже швидке копіювання файлів.

І все-таки діалогове вікно «Файл Операція» не зникає, коли ви використовуєте знімні диски. Якщо ви спробуєте безпечно вийняти накопичувач відразу після зникнення діалогового вікна, ви отримаєте повідомлення про помилку. Дані, однак, проникають.

Оновлення: операції з файлами Windows повільні, ймовірно, від усієї інтеграції із службами та реєстром. Nautilus (в Gnome) - це просто простий процес, який я думаю, або, принаймні, не має навантаження / перебоїв, які має Explorer.


Вирішіть дурість, додавши ще один графічний інтерфейс, який повинен залишатися відкритим: :) У ubuntu мій досвід полягає в тому, що ви можете відхилити діалогове вікно копіювання / переміщення, і воно перейде в системний трей, показуючи сповіщення про завершення. Не знаєте, як це
роблять

Теракопія завантажується із Explorer. Не потрібно тримати його відкритим. Отже, Teracopy завантажується в пам'ять без будь-яких зусиль користувача, і вона працює ненав’язливо. Ubuntu не потребує нічого подібного, тому що він має весь інтелект, вбудований в Nautilus, тобто "об'єднати" та "пропустити всі" параметри.
BZ1

+1: спасибі за те, що ти звернув увагу на мене TeraCopy!
вересень

Я використовував безкоштовний та відкритий інструмент під назвою fastcopy. [ ipmsg.org/tools/fastcopy.html.en]
сарат

-1

Переміщення та копіювання файлів в Linux - це, звичайно, швидка операція. Причина того, що ви можете переміщати та копіювати файли так швидко, полягає в тому, що і джерело, і місце призначення знаходяться в одному розділі. Операція потребує лише зміни вузлів. Переміщення файлів між різними розділами все ще дуже швидко (лише 1 хвилина для файлу 1 гіга). У Windows потрібно перенести файли до пунктів призначення на одному розділі, оскільки управління файлами в Windows брудно. (Подумайте про фрагментацію файлів та про те, як Windows форматує жорсткі диски.)


Я погоджуюся, що переміщення відбувається досить швидко в розділах. Але при копіюванні завжди хотілося, щоб у дисках було скопійовано дату і створити нові вставки. Також я сумніваюся, що переміщення файлів між розділами коштує дорого, оскільки відбувається фізичний рух файлів. Виправте мене, якщо я помиляюся.
сарат
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.