Ситуация: после подключения USB-стика при копировании на него информации в особо крупных размерах
наблюдается скорость около 10-200 килобайт/сек., что есть не очень хорошо, даже просто ужасно.Кто виноват?
Виноват HAL. Внешние накопители (USB-флешки) он монтирует в режиме синхронной записи данных.Что делать?
Нужно изменить настройку одного из файлов конфигурации HAL:
/etc/hal/fdi/policy/preferences.fdiотредактируем его, изначально было так (обычно в этот файл мало что вносится):
<?xml version="1.0" encoding="UTF-8"?> <!-- -*- SGML -*- -->
<deviceinfo version="0.2">
<!--
<device>
<match key="storage.hotpluggable" bool="false">
<match key="storage.removable" bool="false">
<merge key="storage.automount_enabled_hint" type="bool">false</merge>
</match>
</match>
</device>
-->как видно, всё закомментировано, никаких настроек нет. а сделаем так:
<?xml version="1.0" encoding="UTF-8"?> <!-- -*- SGML -*- -->
<deviceinfo version="0.2">
<device>
<!-- disable sync for mount -->
<match key="block.is_volume" bool="true">
<match key="volume.fsusage" string="filesystem">
<match key="@info.parent:storage.bus" string="usb">
<merge key="volume.policy.mount_option.sync" type="bool">false</merge>
</match>
</match>
</match>
</device>
</deviceinfo>Вытаскиваем железки и перезапустим HAL, с привилегиями суперпользователя выполним:
/etc/init.d/hal restart
Подключаем железку, получаем, к примеру, на моём стике разность в скорости возросла с 120-200kB/s до 2.4-12 MB/s.
Зависит от характеристик самой флешки.Настройки опций монтирования также могут быть внутри директории /usr/share/hal/fdi/
URL:
Обсуждается: http://www.opennet.me/tips/info/1816.shtml
Уберите этот совет. После него половина пользователей лишится файлов на флешке если не следелает команду unmount или sync. А во всем обвинят Linux=(
...и еще eject, чтобы сбросился внутренний кэш на самом накопителе --- а то я как-то понять не мог, откуда побитые файлы на внешенм усб-диске
>...и еще eject, чтобы сбросился внутренний кэш на самом накопителе ---Это видимо актуально для usb-hdd.Потому что в упор не вдупляю - ГДЕ у флешек кэш?Его там как правило тупо нет потому как он там достаточно бессмысленный =)
Кэш не у фляжки, а у ОСки в РАМке :)С noatime в РАМку кидаюсться указатели, а посля sync_а, или со временем, только их содержимое.
просто добавить нужно, что откручивать нужно вручную.
Думаю желательно убрать такой совет ибо больше проблем добавит новичкам.
Для флешек & Co надо flush ставить (ядра так с 2.6.16..18-го)
новичкам рекоммендуется вообще делать рекурсивный rm из корневого каталога
злобно... Бармин?
это моя цитата
> Опции с отключением синхронизации требуют обязательного отмонтирования накопителя!Здесь надо было написать команду которая это делает!
Кроме того для разделов FAT32 уже есть давно такая замечательная опция flush !!!
В OpenSuse 11 да и наверно в других современных дистрибутивов флешки монтируются с ней по умолчанию, и данный совет для FAT флешек вреден. Use "flush", dont use "nosync"
В смысле use nosync with flush for FAT
Ja v google poischu. A drugie - net.
Napishite svoi zamechanija v wiki.
>Подключаем железку, получаем, к примеру, на моём стике разность в скорости возросла
>с 120-200kB/s до 2.4-12 MB/s.Юзайте Jet Flash 168 серию !!! 25-30 Mb/s обеспечено, и около 8 с синками.
сходи к окулисту, ибо:
> Зависит от характеристик самой флешки.
Зачем к акулитсу, и так видно - х..вая флэшка. :)