Наблюдается такая картина в системе c Ubuntu 12.04 64-bit (конфиг в подписи).
1 - Сильное снижение отзывчивости приложений при копировании файлов (переключение между окнами, скроллирование списков)
2 - Увелечение load average, wa.
3 - Кушается вся свободная оперативная память и потом не освобождается. Числится как used.
Причем ситуация ухудшается в случае если используется файловая система NTFS (отказаться от нее не могу так как использую внешний диск и для windows систем)
- Наибольшие протупы при работе с приложениями.
- load average 4-6, wa 60-80.
- Оперативная память отъедается везде одинаково.
Если файловая система FAT32, то:
- протупы при работе с приложениями также присутствуют, но меньше.
- load average 2-4, wa 40-60.
- Оперативная память отъедается везде одинаково.
Выполнив
sudo iotop
вижу такую картину:
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
2525 be/4 root 29.84 M/s 0.00 B/s 0.00 % 91.99 % mount.ntf~fmask=0177
4482 be/4 korolev 29.16 M/s 29.16 M/s 0.00 % 91.78 % nautilus -n
2048 be/4 korolev 0.00 B/s 0.00 B/s 0.00 % 0.00 % gvfsd
1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % init
Периодически к ним присоединяется процесс kswapd0
Это в случае наличия NTFS, если нет NTFS, то IO загружается на том же уроне но одним nautilus -n
У меня свежеустановленная ubuntu и на ней процессор сильно не грузится nautilus ~7-10% (на предыдущей установке грузился nautilus ~30-70%)
Просмотр
sudo top
Показывает примерно такую картину.
Mem: 4013364k total, 3619396k used, 393968k free, 1099164k buffers
Swap: 5858300k total, 124k used, 5858176k free, 1410992k cached
Видно, что своп не используется (я на время разбора ситуации с протупами отключил использование свопа если оперативки свободно больше чем 10% sudo sysctl vm.swappiness=10)
Почитал интернет, но там достаточно устаревшая информация по ядрам 2.6 в которых были проблемы со скоростью копирования и отзывчивостью IO.
Может кто в виде миниплана накидать последовательность вещей которые надо настроить, что бы получить улучшение отзывчивости системы при работе с файловыми операциями? И уменьшить load average, wa.
С оперативкой наверно ситуация нормальная для linux? При копировании файлов оперативка забивается системой под кеш. А после окончания файловых операций оперативка автоматически будет отдана приложениям. Проверил - вроде так и происходит... Хотя если бы была возможность настроить копирование информации "напрямую" было бы лучше. Оперативки у меня не много и 50% уходит на виртуальную машину.
Пользователь решил продолжить мысль 15 Июля 2013, 17:03:15:
Копаясь со своим вопросом. Нашел способ облегчить последствия копирования информации на ntfs раздел. Если копировать из командной строки, то nautilus со своим индикатором копирования пропадает из задач которые грузят систему и лаги становятся ЗНАЧИТЕЛЬНО мягче.
Пользователь решил продолжить мысль 15 Июля 2013, 20:18:00:
Решил исключить проблемы ntfs-3g и переформатировал второй раздел диска в ext4. Ничего хорошего из-за этого не получил. Проблема протупов осталась, aw и load averge чуть уменьшились, но это не сыграло никакого рояля. К тому же у меня уменьшилась на 6 Гб реальная вместимость раздела из-за журналирования ext4.
прочитав хорошую статью.
http://vasilisc.com/why-deadline-ubuntuЯ поэкспериментировал со своей системой. В моем ядре 3.5.0-36-generic нет поддержки anticipatory. Поэтому в тестировании участвовали:
noop deadline cfq
noop - оказался не подходящим. В браузере зависали скрипты, темнели окна программ, копирование производилось рывками. Ситуация еще хуже чем с deadline, который установлен планировщиком по-умолчанию.
Лучше всего себя показал cfq, который видимо в принципе более подходит для пользовательской станции чем deadline. Может у меня deadline не слишком хорош из-за каких-то проблем в работе HDD или модулей ядра. Но и тут:
http://www.xakep.ru/magazine/xa/108/098/1.aspпобликуется мнение, что deadline хорош, но для web серверов и т.п. У пользователей на домашних машинах могут быть другие предпочтения.
cfq не побеждает большой aw и load averge, цифры аналогичные как и при использовании deadline, но при работе с приложениями ситуация меняется координально. Приложения легко стартуют, списки скрулятся с меньшими протупами и т.п.
Надо еще поизучать ситуацию на системе 32-bit. Когда пользовался ubuntu 12.04 32-bit не помню таких проблем.