Диалог копирования застрял на 0 секунд осталось ...
Всякий раз, когда я пытаюсь скопировать большие файлы на мой USB-накопитель (в любом формате), он всегда останавливается в последний момент. Это заканчивается через долгое время .
Я искал Ask Ubuntu для похожих постов и получил много , но ни у одного из них нет хороших решений.
Итак ... Есть ли какой-нибудь альтернативный инструмент копирования, такой как Teracopy в Windows?
Или есть какие-то исправления, которые я могу сделать?
Ответы:
Вы не должны беспокоиться об этом слишком много.
Возможно, ваш USB-накопитель имеет «более низкое качество».
Вывод диалога относительно времени вводит в заблуждение.
Другие инструменты копирования могут иметь другое поведение вывода,
но они не улучшают скорость записи на USB-накопитель.
Самое главное, что в конечном итоге действие копирования завершается успешно.
Что вы можете сделать, это оптимизировать планировщики ввода / вывода дисков.
Установите
gksu
(если вы этого еще не сделали), чтобы редактировать файлы сgedit
правами root:Теперь оптимизируйте приоритет всех запущенных процессов для дисков различных типов:
Вставьте следующие строки в этот пустой файл и затем сохраните файл:
Внесенные изменения вступают в силу после перезапуска операционной системы.
Также ... альтернативное решение для копирования доступно в репозиториях Ubuntu:
Теперь запустите инструмент из терминала, чтобы сравнить или скопировать файлы и папки:
dirdiff
это графический интерфейс дляdiff
и может обрабатывать до 5 деревьев. Он отображает главное окно со списком файлов, которые отличаются между деревьями, с цветными квадратами, чтобы указать относительный возраст версий. Меню позволяет отображать различия между любыми двумя версиями в другом окне. Другое меню позволяет копировать файлы и папки из одного дерева в другое.Резюме: Наиболее актуальным является качество USB-диска и его скорость записи!
источник
Причина, по которой вы видите, что копирование происходит так, как вы делаете, заключается в том, что запись на USB-накопитель выполняется асинхронно .
Когда вы копируете файл, он фактически копирует его в буфер USB-накопителя, который находится в оперативной памяти вашего компьютера. Первая часть копии очень быстрая, потому что она просто входит в буфер. Данные сбрасываютсяиз буфера на USB-накопитель гораздо медленнее. После того, как буфер заполнен, он должен ждать, пока некоторые данные будут сброшены на диск, прежде чем он сможет больше помещаться в буфер, поэтому копирование затем замедляется, фактически до скорости USB-накопителя. Как только весь файл был помещен в буфер, кажется, что файл был скопирован. Однако не все данные были сброшены из буфера на сам USB-диск. Некоторые программы копирования просто возвращаются и позволяют этой очистке продолжаться в фоновом режиме. Некоторые будут ждать, пока все данные не будут сброшены, поэтому они останутся на 100% в течение некоторого времени.
Вы можете переключить диск в синхронный режим, что означает, что все данные немедленно записываются на USB-накопитель без использования буфера. Это создаст впечатление более плавной передачи данных, но может фактически привести к общему снижению скорости.
Если вы вручную монтируете диск из командной строки, вы можете добавить
-o sync
.Если вы монтируете его с помощью fstab, вы можете добавить
sync
опцию.Если вы полагаетесь на то, что Ubuntu монтирует его для вас при доступе к нему в графическом интерфейсе, вы можете изменить параметры монтирования из командной строки после его монтирования:
источник
Возможно, проблема в том, что файл полностью читается и сохраняется в памяти, прежде чем он будет полностью записан на целевой диск.
Это не означает точного ответа на вопрос, но
pv
в случае больших файлов можно использовать обходной путь из командной строки:Всякий раз, когда нужно скопировать большой файл:
Следует отметить, что это страдает от аналогичной проблемы нежелательной буферизации при использовании в конвейере; в этом случае исправление ограничивает скорость передачи до значения, немного превышающего скорость записи целевого диска:
источник
Есть ряд альтернатив. Вы можете использовать подход командной строки:
cp *source* *target*
где source - это файл, который вы хотите скопировать, а target - это файл или папка, в которую вы хотите скопировать. Дополнительные параметры можно найти по адресу https://softwarerecs.stackexchange.com/.
источник
Это будет считывать из вашего
if
файла и записывать вof
файл в 64-мегабайтных чанках и ждать, пока не будет записан каждый чанк, прежде чем начинать следующий. Утилита, которую вы используете, скорее всего, просто читает файл в память, а затем отправляет его на диск (и не известно, сколько байт за раз он делает). Кэширование записи может происходить и в самом USB-ключе… Так что скорость 60 МБ / с, которую вы получаете, является скоростью передачи через соединение USB во внутренний кэш электронного ключа. Но это вряд ли, если это не USB3 ключ. USB2 не обладает достаточной пропускной способностью для обработки 60 МБ / с.источник
Нет необходимости во всем вышеперечисленном. Просто откройте окно терминала, когда передача показывает 0% слева, и введите «
sync
Со страниц справки» команда sync очищает буферы файловой системы, но, конечно, она сбрасывает только те, на которые у вас есть права. Если вы хотите сбросить их все, введитеsudo sync
источник