Ситуация: после подключения 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.dev/tips/info/1816.shtml