The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Патч, решающий проблемы с отзывчивостью Linux-десктопа"
Отправлено Аноним, 07-Авг-10 07:22 
Попробовал у себя. Забавно это все работает :)
Раньше периодически сталкивался с такими тормозами, но только сейчас дошли руки оттестить и локализовать проблему.
Eee pc 901, ssd, atom
Соответственно reiserfs, nolog, noatime, elevator=deadline, sd[a-b]->fifo_batch=1, vm.swappiness=0, swap off

xxx@xxxbook:~$ uname -a
Linux ormbook 2.6.30-02063010-generic #02063010 SMP Fri Dec 4 10:49:55 UTC 2009 i686 GNU/Linux

Запускал в два потока
sudo dd if=/dev/zero of=/home/test[12].tst bs=8M count=100
И смотрел на отзывчивость при работе с /home и в целом, наблюдал iostat 1 и vmstat 1

Выяснил примерно следующее:
1. Явно есть какие то гонки при одновременном доступе на запись нескольких потоков к одному устройству (в моем случае - sdb), на работе остальных дисковых устройств отражается несильно (sda например)
2. Суммарная скорость записи обоих потоков значительно (30% и больше) меньше чем скорость записи одного потока, что по идее на SSD быть не должно.
3. Если допустим в gedit открыт файл на редактирование (в /home естественно) и попытаться его сохранить, gedit зависает до окончания записи обоих потоков.
4. Если перемонтировать /home в sync, скорость записи несколько снижается. (спасибо К.О.! :) )
5. Но при перемонтировании в sync в том же gedit зависание происходит не до конца записи, а на 3-5 секунд. Т.е. появляется хоть какая то отзывчивость.
6. В любом режиме (и sync и async) из bash командами вида "echo xxx > /home/test.txt" или "cat /home/test.txt" все работает достаточно быстро, без тормозов.

Вывобы примерно такие - проблема в где то в записи метаданных. sync позволяет её несколько сгладить (очередь не успевает переполниться видимо). Проблема видимо возникает не при любой записи, а только при записи с определенными флагами (bash же не вис, вис только gedit, хотя может я ошибаюсь) - нужно посмотреть как именно выполняет запись gedit и как bash в исходниках и написать пару тестовых бинарников для проверки.

Для себя я решил просто поставить sync - флешка все равно умрет рано или поздно, +-30-40% скорости записи мне не роляют. А вот сидеть и ждать, пока какой нить образ на флешку зальется - весьма нехочется, были прицеденты.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру