LINUX.ORG.RU

Копирование на флешку тормозит в одном месте.

 ,


3

3

Добрый день. Fedora 38 Gnome. При копировании на флешку разных файлов, навжно что, тормозит в одном месте примерно на 20%. 1 день на линуксе, флешка рабочая. Сделал восстановление файловой системы и форматировал не помогло.



Последнее исправление: kazierweb (всего исправлений: 1)

Ответ на: комментарий от andytux

В винде работает, на другом ноуте. Вставил другую флешку, тоже самое. Скорость копирования падает с 200Мб/с до 20МБ/с. И все дальше тормоз. Отключить тоже нельзя. Что за хрень этот ваш линукс?

kazierweb
() автор топика
Ответ на: комментарий от kazierweb

20мб/с это очень много. Я слышал, что существуют такие флешки. Но в руках держать не приходилось. Обычное дерьмо из «озонов и прочих бериес-маркетов» не вытягивает и 10мб/c.

andytux ★★★★★
()
Ответ на: комментарий от kazierweb

Оригинальный метод , чисто виндовый , где пофигу админ.

К тому же я спросил не о копировании твоих папок , а вот об этом —> не дает дописать в него vm.dirty_bytes = 4000000 vm.dirty_background_bytes = 2000000

symon2014 ★★
()
Ответ на: комментарий от symon2014

это понятно что ссылка, по ссылке должен открываться файл или каталог, правильно? вот по ссылке /etc/sysctl.d/99-my-sysctl.conf ничего не открывается.. терминал пишет что нет такого файла или папки..

kazierweb
() автор топика
Ответ на: комментарий от kazierweb

Пля , я не школьный препод. Если тебе так приспичило , создай в директории sysctl.d файл с именем из трёх известных всем букв , но на латинице и с расширением .conf , и запиши туда эти два параметра из примера , желательно в две строки. Сохрани и ребутнись. Блин.

symon2014 ★★
()
Ответ на: комментарий от kazierweb

Что за хрень этот ваш линукс?

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

Так что мы тут все мучаемся и врём что нам всё нравится. Эффект «Зелёного слоника», если ты понимаешь о чём я.

Jameson ★★★★★
()
Ответ на: комментарий от Jameson

Для простой задачи копирования файла, нужно гуглить, пол дня писать на форуме, потом тебя выставят еще непонятно кем… Проще на винду вернуться. Хотя федора неплоха.

kazierweb
() автор топика

У ChatGPT сейчас принято спрашивать. Оно догадается, может ты не от рута пытаешься в /etc файл создать.


# touch /etc/sysctl.d/99-my-sysctl.conf
# mcedit /etc/sysctl.d/99-my-sysctl.conf

пол дня писать на форуме

Осваивай ChatGPT, сейчас, говорят, без этого никуда. Сам я по-старинке, когда-то, книжки читал (см.профиль). Но времена другие…

greenman ★★★★★
()
Последнее исправление: greenman (всего исправлений: 1)
Ответ на: комментарий от greenman

Он и не пытался ничего создать. Просто по ссылке во втором посте пример описан достаточно поверхностно , для тех кто в курсе что к чему. А ТС просто пытался просто копипастить приведённые команды , не вникая в суть.

symon2014 ★★
()
Ответ на: комментарий от kazierweb

Не слушай его, он тебя троллит. Если хочешь менять sysctl то дописывай их в /etc/sysctl.conf просто без всяких сложностей. тобы что-то в него дописывать нужно быть рутом. Но на самом деле тебе не нужно ничего там трогать. Разгадка «медленной скорости» простая: винда будет доделывать копирование в фоне уже после того как оно копирования закрылось, можешь проверить нажав сразу после якобы сделанного копирования «безопасное извлечение» и замерив время, которое придётся ещё ждать. Думаю настоящая скорость получится всё те же 20мб/с.

firkax ★★★★★
()
Ответ на: комментарий от symon2014

не вникая в суть

Как можно вникнуть в суть, если первый день на линуксе. Скачал, установил, нажимая далее - далее. Какую-нибудь книжку по линуксу вряд ли читал.

greenman ★★★★★
()
Ответ на: комментарий от kazierweb

Ну я рад, что ты не бросил это дело, прорвался через тернии лора

Потом, может быть, поймёшь в чём минус данного решения

greenman ★★★★★
()
Последнее исправление: greenman (всего исправлений: 2)
Ответ на: комментарий от greenman

А смысл? У него реально не быстрее же будет идти. Это чисто особенность отображения прогресса в GUI — вместо отображения записанных данных на флешку как в винде, показываются забранные данные с ЖД. Уменьшение размера кеша в оперативной памяти сокращает визуальный разрыв, но реально запись файлов будет идти с той же скоростью.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от greenman

Может быть. Свой путь только начинаю в линукс. Ноут работает приятнее винды. Нет кучи скрытых процессов. Дрова встали. Пока это был единственный затык с флешкой.

kazierweb
() автор топика
Ответ на: комментарий от Vsevolod-linuxoid

Мне кажется, было сравнение. С большими кешами медленнее пишется, может потому, что система пытается писать многопоточно, ставя раком обычную недорогую флешку.

greenman ★★★★★
()

@kazierweb , тебе как обычно «помогли» в кавычках. Никто ничего не объяснил, и при этом подсунули квазирабочее «решение».

Небольшая лекция:

В Linux, как и в Windows, файлы никогда не копируются с диска на диск напрямую. Данные сперва считываются с диска A и помещаются в оперативную память так быстро, как это возможно, а уже потом записываются на диск B так быстро, как можно.

Это быстрее, чем прямое копирование, так как не нужно ждать конца записи перед считыванием новой порции данных (данные обычно считываются быстрее, чем записываются).

Однако, есть нюанс чисто в отображении процесса. На Linux для команд в терминале cp и для GUI файлового менеджера процесс копирования завершен в тот момент, когда все данные были считаны. Запись он не проверяет, в отличии от GUI в Windows.

И это то, что ты наблюдаешь. Размер дискового кеша в оперативной памяти ограничен, поэтому данные сперва быстро сбрасываются в него, что и отображается как быстрое копирование, потом прекращают, так как нужные данные не записаны на флешку, и скорость забора файлов в кеш падает до скорости реальной записи на флешку.

Ты урезал этот размер кеша ещё сильнее, что привело к визуально большему соответствию прогресс-бара в GUI к реальному положению дел, но никак не ускорило собственно процесс записи. А чтобы не потерять данные при извлечении «готовой» флешки, нужно:

Чтобы гарантировать запись, нужно или выполнить в терминале серию команд: sync для синхронизации дискового кеша с реальными данными на дисках, umount /dev/sdXn для отмонтирования раздела на диске и eject /dev/sdX, чтобы освободить диск от управления ОС. Сколько данных ещё должно записаться на диск можно оценить командой grep Dirty /proc/meminfo — значение никогда не бывает нулевым, но под конец записи малое.

Или просто нажать в GUI файлового менеджера кнопку извлечения диска, она всё это сделает, и как закончит, можно вынимать. Но вот если вынимать «на горячую», то данные не успеют синхронизироваться с дисковым кешем.

К слову, такое удобство в виде корректного отображения записи в GUI появилось только в Windows 10, да и то не сразу. До этого «безопасно извлекать» флешки нужно было и там, да и сейчас не лишнее.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

О) спасибо за лизбез) т.е. можно удалить эти строки, нажать копировать-вставить, нажать безопасное извдечение, как копи паст произойдет, появится надпись о безопасном извлечении.Так?

kazierweb
() автор топика
Ответ на: комментарий от kazierweb

Ну да, можешь удалить эту настройку, просто не забывай извлекать флешки в файловом менеджере даже после того, как прогресс-бар заявил, что всё готово.

Почему разработчики DE в Linux не сделают нормальный GUI для копирования файлов, а вместо этого страдают ненужной фигней вроде вырезания функционала — не знаю, по идее, сделать нормальный GUI реально.

Причем я почти наверняка уверен, что патчи предлагали, но их отклонили по политическим соображениям.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от greenman

Не лучше ли в таком случае ограничить именно число потоков именно для флешек?

И потом, для всей системы, то есть и для внутреннего ЖД ставить малый кеш — не очень идея.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

Не лучше ли в таком случае ограничить именно число потоков именно для флешек?

Если бы…

И потом, для всей системы, то есть и для внутреннего ЖД ставить малый кеш — не очень идея.

Согласен.

greenman ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

Да всё ещё проще. В винде для сменных носителей кеширование записи отключено по умолчанию. Можно в свойства носителя зайти и увидеть что соответствующая галочка по умолчанию снята. Поэтому и прогрессбар равномерно двигается, и выдёргивать флешку можно сразу после окончания процесса без «безопасного извлечения» (но не нужно). А в Линукс кеширование по умолчанию включено.

Если флешка монтируется через ГУИ с помощью udisks2 можно где то там в ГУЁвых настройках флешки включить синхронный режим. Если монтируется через fstab можно sync в качестве опции указать. И будет точно так же как и в винде.

Jameson ★★★★★
()