Медленное копирование на флешку

mechanical
это не глюк кде …. и не глюк …. это особенность копиорования в линуксе …. прогрессбар показывает процесс чтения, но не записи
прогрессбар при копировании показывает процесс чтения, независимо твоих предпочтений и мечт … а остальное твоё словоблудие я не осилил … про девнулл особенно
А чтение куда?

SunStroke
Предположу что прогрессбар все же показывает именно процесс записи. Просто запись идет в кэш (поэтому так быстро) и с точки зрения программы все уже скопировалось. А уж когда там дисковая подсистема ядра скинет данные из кэша на физическое устройство - это программу не волнует.
В том то и дело, что ни разу не быстро. А без кэширования (либо NTFS, либо FAT с опцией flush) - быстро.

IIaBeJI
Оно не крутит мультики, а копирует в кэш, пока тот не заполнится, поэтому сначала пишет высокую скорость копирования, а после заполнения кеша скорость падает.
А без кэширования скорость не падает и в общем получается в разы быстрее. Для чего оно такое нужно?

IIaBeJI
А вот это называется 12309, память здесь абсолютно не причем. Гугл выдает кучу более-менее рабочих решений по этой проблеме, мне помог перевод sata винтов на планировщик ввода-вывода noop.
Ни одного рабочего решения мне не попадалось, только описание этой проблемы на всех языках мира и предложение что-нибудь поделать, а вдруг поможет. Никому не помогло.
перевод sata винтов на планировщик ввода-вывода noop. Привело к диким тормозам при загрузке. Скорость копирования на флешку не увеличилась.

GavriKos
В конце концов это ж Линукс - компилятор в руки и вперед. В конец копирования добавить сравнение контрольной суммы например.
Я_не_буду_ничего_компилировать_в_пакетном_дистрибутиве.

GavriKos
Для проверки попробуйте закинуть на флешку ОДИН БОЛЬШОЙ файл и в процессе копирования понаблюдать за ростом кеша, использования оперативки и прочих параметров системы. Так можно будет хоть что то сказать.
Кэш вырастает на два объема файла, скорость падает. Загрузка обеих ядер - 100%, пока KDE демонстрирует процесс копирования. Это была EXT2. Медленно.
Кэш таки задействуется, достигает одного объема файла. Одно ядро грузится до 100%, второе 50-60%, на этот раз пока мигает диодик. NTFS. Быстро.
ElSonador
А без кэширования (либо NTFS, либо FAT с опцией flush) - быстро.
Без кеширования - опция sync.
Да не суть важно. Для NTFS, оказывается кэширование тоже работает, но скорость записи не снижается. И памяти существенно меньше хавает.
Вообще-то буфер для съемного носителя и не нужен. Я на него пишу одномоментно и все сразу.

А параметры монтирования съемных дисков KDE это вообще где? В том смысле теперь - где, когда оно уже наконец-то совсем-совсем-совсем без HAL? Там вроде как udev рулит. А для него предлагается вот такое заклинание:

KERNEL!="sd[a-z][0-9]", GOTO="media_by_label_auto_mount_end"
IMPORT{program}="/sbin/blkid -o udev -p %N"
ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}"
ENV{ID_FS_LABEL}=="", ENV{dir_name}="usbhd-%k"
ACTION=="add", ENV{mount_options}="relatime"
ACTION=="add", ENV{ID_FS_TYPE}=="vfat|ntfs", ENV{mount_options}="$env{mount_options},utf8,gid=100,umask=002"
ACTION=="add", RUN+="/bin/mkdir -p /media/%E{dir_name}", RUN+="/bin/mount -o $env{mount_options} /dev/%k /media/%E{dir_name}"
ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l /media/%E{dir_name}", RUN+="/bin/rmdir /media/%E{dir_name}"
LABEL="media_by_label_auto_mount_end"

Я правильно понимаю, что писать свои пожелания демону надо сюда /bin/mount -o?
2 TC
Попробуйте dd залить что-нибудь на флэшку, проверьте скорость (только сохраните ценную инфу)
Нашел тут прямо ваш случай:
Есть еще одна неприятная особенность, связанная трудно сказать, с чем — возможно, с реализацией DMA, но вполне возможно, что не с ней, или не только с ней. Берем какой-нибудь медленный для записи носитель, типа той же USB-флешки, и пробуем записать на него данных побольше, фильм какой или что-то навроде. Мы увидим, что происходит это рывками — сначала заполняется буфер, сколько влезет, а потом весь сбрасывается, потом весь заполняется… и так далее. При этом суммарно потраченное время почему-то ощутимо больше, чем как если бы мы примонтировали носитель с -o sync, а скорость записи на собственно носитель невообразимо мала.

полностью+решение http://www.linux.org.ru/wiki/en/User:shimon/12309
IIaBeJI
Нашел тут прямо ваш случай:
Есть еще одна неприятная особенность, связанная трудно сказать, с чем — возможно, с реализацией DMA, но вполне возможно, что не с ней, или не только с ней. Берем какой-нибудь медленный для записи носитель, типа той же USB-флешки, и пробуем записать на него данных побольше, фильм какой или что-то навроде. Мы увидим, что происходит это рывками — сначала заполняется буфер, сколько влезет, а потом весь сбрасывается, потом весь заполняется… и так далее. При этом суммарно потраченное время почему-то ощутимо больше, чем как если бы мы примонтировали носитель с -o sync, а скорость записи на собственно носитель невообразимо мала.

полностью+решение http://www.linux.org.ru/wiki/en/User:shimon/12309

«Решение» - бред.

Своп нужен
О да. У меня 6 Гб RAM, а система будет в экстазе гонять свой swap. Отлично.

Уменьшение размеров дисковых буферов
Если бы они работали, как там написано, скорость бы не падала. Почему-то я вижу другое: буфер заполняется, все, что туда не влезло - пишется. Когда запишется, начинает писаться содержимое буфера, до того момента тупо висящее в памяти. В результате получаем занятую до упора память (которую дисковый кэш вовсе не желает освобождать, пока все не запишется, хотя в теории должен), дикие тормоза в системе и медленно-медленно пишущуюся флешку. И размер буфера тут ни при чем, разве что система подвисать перестанет. Если повезет, ибо возможен противоположный эффект.

Итого: снова возня с игрушками вместо работы. Ошибки в ядре и их нужно лечить, а не костыли прикладывать.

Кстати, такая же точно проблема есть в Windows… которая Windows 98.
Ну че, кто тут первый сказать про холивар? Какая война, детей бить, что ли!

На самом деле этот механизм работает, хорошо работает… на сервере.
Блин, такая же проблема, только еще хуже. Копирую файлы на телефон, папка ≈100Мб. Копирование может занимает кучу времени и при этом кде (последнее к стати) вообще не отображает никаких индикаторов прогресса. Видимо какой то очень умный разработчик решил что для таких маленьких файлов нефиг его и показывать. Определить что копирование еще не закончилось можно только по тому что нельзя отмонтировать флешку и по этому:


Но это еще не самое плохое. Иногда арч вообще зависает намертво до тех пор пока копирование не завершится! Это полный п-ц иметь такие глюки в ядре и еще и распространять его с лозунгами “долой проприетарщину” и т.д. Есть ли это знаменитый 12309?
Это еще что. При копировании тучи файлов в пределах одного раздела достаточно быстрого жесткого диска компьютер вешается насмерть. Операционная система с великолепно организованной многозадачностью, бугага.

Ребята, это мой домашний компьютер, я просто подожду, когда он придет в себя. Но у меня возникнут огромные сомнения в целесообразности использования ЭТОГО где-нибудь в работе. Представьте, если такое случится с сервером. Только стабильные сборки? Ха-ха, я уже знаю, что стабильный дистрибутив - это стабильные баги и не более.
И если почитать форумы линуксспецов по обслуживанию веб-серваков, Полярный Лис и правда частенько навещает их.
ElSonador
Представьте, если такое случится с сервером.
Сисадмины обычно в курсе, что есть “ionice”
Вчера была такая же засада: пытался копировать на флешку средние файлы (100-600мб), все настолько медленно, как будто завис процесс. Причем парадокс: запустил под виртуалбоксом винду-хрюшу, подцепил эту же флешку и все скопировалось на нее с нормальной скоростью и без проблем. Как так? Причем сама флешка в xfce монтируется странно: ждет около минуты, после чего монтируется.

зы. Копировал друзьям-виндузятникам. Первый раз испытал чувство стыда и неловкости за то, что у меня линукс - настолько нелепыми выглядели зависшие прогресс-бары копирования и ужимки-прыжки с виртуалбоксом. Вылизываешь систему, гордишься собой, а потом на каких-то пустяках чувствуешь себя полным идиотом :(
 
Зарегистрироваться или войдите чтобы оставить сообщение.