Швидкість запису NTFS дуже повільна (<15 Мб / с) на Ubuntu


18

Під час копіювання великих файлів або тестування writepeed з dd, максимальна швидкість write, яку я можу отримати, становить приблизно 12-15 Мб / с на накопичувачі за допомогою файлової системи NTFS. Я протестував декілька накопичувачів (усі підключені за допомогою SATA), які отримали швидкість запису 100 Мб / с + в Windows або при форматуванні з ext4, тому це не вирівнювання або проблема з накопичувачем.

topпоказує високе використання процесора для mount.ntfsпроцесу.

Двоядерний процесор AMD (2,2 ГГц)
Версія ядра: версія 3.5.0-23-generic
Ubuntu 12.04
ntfs-3g: і версія 2012.1.15AR.1(версія за замовчуванням Ubuntu), і2013.1.13AR.2

Як я можу виправити пишучу швидкість?


Ви пробували тестувати ДД з необмеженим доступом до диска (на диску чи розділі, не має значення)? Зауважте, що тестування таким чином знищить файлову систему і втратить будь-які дані про неї. Це повністю обійде драйвери NTFS.
Боб

Так, я щойно зробив, результат такий 149MB/s.
Зулакіс

З цікавості я маю запитати, чи не є цей накопичувач одним із цих 4k-дисків, і, отже, ваша файлова система може якось не узгодитись ?!
Waxhead

4
Я вважаю, що безкоштовна версія NTFS-3G покалічена, тому вона використовує 4 KiB записи без кешування, викликаючи надзвичайно повільну продуктивність запису на SSD та USB накопичувачі. Компанія, що стоїть за водієм, пропонує придбати комерційну версію для кращих показників. Мабуть, ніхто не піклується про те, щоб фактично виправити (а за потреби роздрібнити) версію з відкритим кодом, оскільки ця проблема існує вже майже десятиліття, з моменту виходу NTFS-3G.
Tronic

1
З тим же ноутбуком Ubuntu 2015.04 я відформатував NTFS зовнішній жорсткий диск на 320 ГБ та USB-накопичувач на 32 ГБ. Копіювання 2 Гб фотографій на перше займало назавжди (6 годин залишилось приблизно через 30 хвилин), а на друге (USB-накопичувач) знадобилося лише хвилину-дві. Я не змінив жодних налаштувань між ними.
Ніколя Рауль

Відповіді:


18

Попередня публікація була на правильному шляху із зазначенням посилання:

можливо, перевірте тут ідеї щодо того, що це може викликати. http://www.tuxera.com/community/ntfs-3g-faq/#slow

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

Вирішення: використання параметра монтажу «big_writes», як правило, зменшує використання процесора за умови, що програмне забезпечення, яке запитує запис, підтримує великі блоки.

Просто додайте параметр big_writes, наприклад

sudo mount -o big_writes /media/<mount_dir> /dev/<device>

Мій Linux NAS з процесором з низькою специфікацією тепер управляє великим файлом NTFS, який записується приблизно втричі швидше. Він покращився від ~ 17MB / s до 50MB / s +. Навіть бачив, що він зазирає близько 90 Мб / с в iotop, що, ймовірно, поруч із можливостями зовнішніх накопичувачів (2,5-дюймовий жорсткий диск USB3).

На головній сторінці NTFS-3G:

 big_writes
              This option prevents fuse from splitting write buffers  into  4K
              chunks,  enabling  big  write buffers to be transferred from the
              application in a single step (up to some system limit, generally
              128K bytes).

Заключні записки:

  • опція big_writes, ймовірно, не допоможе 4K еталону запису випадкових випадків ;-)
  • Хоча Tuxera, схоже, резервує драйвер Pro NTFS для вбудованих системних партнерів, Paragon пропонує альтернативний безкоштовний для особистого використання драйвер NTFS під назвою NTFS & HFS для Linux 9.0 Express та професійну версію. Однак я не поручую цей продукт, і коли я спробував попередню версію (v8.5), мені не вдалося в той час працювати з моєю версією Linux Kernel.

Параметр big_writes змусив мій диск перейти від 300 кбіт / с до 35 Мб / с! Спасибі!
JosFabre

10 персонажів зробили світ різниці, дуже дякую!
Жоао Мігель Брандао

big_writesв 2016 році був застарілий , однак через 3 роки деякі дистрибуції все ще використовують ще більш стару версію лібфузи.
Дмитро Григор’єв

2

можливо, перевірте тут ідеї щодо того, що це може викликати. http://www.tuxera.com/community/ntfs-3g-faq/#slow

Це звучить трохи як "старі часи", коли файл io не використовував DMA за замовчуванням. Навряд чи в ці дні, але чи BIOS використовує емуляцію IDE для накопичувачів SATA? Тому що, якщо він емулює IDE, він також може емуляцію режиму не-DMA.

Ще одне потенційне сповільнення - це стиснення файлів ntfs. Чи ввімкнено стиснення в папці, в яку ви пишете? Якщо це так, це призведе до стиснення будь-яких нових файлів у цій папці.


Як я можу перевірити, чи використовується DMA? Крім цього, я вже випробував усі пропозиції на сторінці.
Zulakis

Ага, з того, що я прочитав, DMA відповідає лише дискам IDE? Я використовую лише диски SATA
Zulakis

Згідно з en.wikipedia.org/wiki/Serial_ATA#Transport_layer, це здається, що DMA - єдиний варіант для SATA. Давайте дізнаємось, чи використовує його біос
ідею

0

Це стара нитка, але для людей, які шукають вирішення тієї самої проблеми: чи активовано ви? ntfs-3g голодний процесора, і в моєму випадку cpuspeed помилково виявив низьке навантаження для процесів з великою кількістю IO чекає, врешті-решт, затухаючи ядро ​​і голодуючи драйвер.

Спробуйте відключити cpuspeed (якщо, наприклад, він працює як послуга) і повторіть тест.


Як визначити, що cpuspeed активний? Це демон чи установка?
Даніель

0

big_writesбула застаріла в 2016 році, відповідна поведінка завжди вмикається при використанні libfuseверсії 3.0.0 або новішої версії. У сучасній системі Linux низька продуктивність NTFS зазвичай означає, що:

  • диск фрагментований
  • Увімкнено стиснення диска NTFS
  • неадекватні варіанти , такі як кріплення syncвикористовуються

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