LINUX.ORG.RU
ФорумTalks

Дефолт не для людей

 , , ,


1

5

Если Альтернативные планировщики i/o лучше дефолтных в ядре, почему ведущие дистрибутивы linux для десктопа (н.п. ubuntu, fedora, debian, arch) не включают их умолчанию? Ведь цель по умолчанию - приемлемый отклик интерфейса, а не серверные функции. Тот, кто захочет установить серверное ПО, н.п. СУБД должен дойти своим мозгом, что нужно ядро с другими настройками.

ещё мучает вопрос, а кто виноват, что при высоком i/o система встаёт раком и начинаются лаги интерфейса: планировщик i/o или другой элемент.
Почему курсор мыши лагает? почему на него влияет копирование с флешки? ведь курсор в видеопамяти и в ОЗУ, и работает с процессором, какого чёрта он зависит от планировщика i/o?
почти та же история с браузером. какого чёрта он лезёт на ссд и почему нельзя полностью настроить кеш в ОЗУ.
опять же, если тормозит даже курсор, то уже нет уверенности, что это бедный хром уиноват.

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

Винить конечное ПО юзера в этом глупо. ПО с правами юзера в принципе не должно оказывать влияния на работу системного ПО.

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

Почему курсор мыши лагает?

Если включена подкачка, то проблема может быть в ней. Концепция подкачки — это вообще вредительство, особенно с современными объёмами оперативной памяти. По крайней мере нужен флаг в mmap который разрешает подкачку и который по умолчанию отключён.

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

Может, потому что курсор мыши - это не системное, а юзерспейсное, ПО?

И что? Это значит, что можно вешать пользовательские потоки, которые не делают никаких запросов к диску и сети, на время порядка секунды?

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

Такая архитектура. Перепишите с нуля, как в WinNT - затащите видео в ядро - будет быстрый курсор. Не хотите в ядро? Скопируйте модель десяточки, или там MacOS, на худой конец, андроид. Слабо? Так и думал, слабо.

tiinn ★★★★★
()

Вы знаете, наверное отсутствие внятного сравнения. Ибо Арчу и Федоре на серверы +/- наплевать.

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

Перепишите с нуля, как в WinNT - затащите видео в ядро - будет быстрый курсор.

К графике в ядре это не имеет никакого отношения. В Haiku от высокой нагрузки курсор не зависает, хотя вся графика в пространстве пользователя.

или там MacOS, на худой конец, андроид

Там вся графика в пространстве пользователя.

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

Да рулит венда, рулит, это уже ясно, выдыхай.

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

Если включена подкачка, то проблема может быть в ней.

У меня не так давно вся система колом встала когда одна шняга начала на диск писать со скоростью 3 гига в секунду. И смех и грех, потому что выключить я её не мог, потому что система встала колом. Отпустило только когда место на разделе кончилось.

Ах да, свопа нет и не было.

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

Вот интересно, а почему в венде это так не тормозит? Ммм?

Ещё как тормозит. В винде десяточке без SSD вообще работать невозможно

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

Там вся графика в пространстве пользователя.

Вот и надо взять на вооружение чужое готовое решение.

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

Соглашусь. Там не так курсор подвержен, как программы, которые впадают в «Не отвечает» или как там уже.

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

У меня не так давно вся система колом встала когда одна шняга начала на диск писать со скоростью 3 гига в секунду.

Я когда-то читал, что в ядре Линукс используется кооперативная многозадачность. Может быть в этом дело? Подробно не вникал.

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

Вот и надо взять на вооружение чужое готовое решение.

Там всё ядро надо менять (на Darwin например) для готового решения.

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

А по-другому данную проблему не победить!

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

Я, как владелец десктопа на атоме, знаю, о чём говорю. Без SSD на винде даже поля ввода в браузере тормозят

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

если они не вырубили прерывания

Тоже потенциальный кандидат на причину тормозов. Может быть дисковый ввод-вывод отключает прерывания на длительный интервал времени.

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

Вряд ли. Для этого нет причин. И в ядре за такое вроде по рукам бьют.

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

Текстовый. В полях ввода.

С этим всё понятно. Он обрабатывается в одном потоке вместе с отрисовкой всей страницы и JavaScript. Так что там просто тяжёлые вычисления.

X512 ★★★★★
()

почему ведущие дистрибутивы linux для десктопа (н.п. ubuntu, fedora, debian, arch) не включают их умолчанию?

fedora

Там как раз BFQ из коробки, если что. Начиная еще с 31 выпуска.

https://www.phoronix.com/scan.php?page=news_item&px=Fedora-Switching-To-BFQ

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

Может, потому что курсор мыши - это не системное, а юзерспейсное, ПО?

дак и СУБД и почтовый сервер и виртуалка в конечно счёте можно представить как юзерспейсное ПО.

накой фиг всралась система, в которой всё тормозит?

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

ваш пост значительно помог разработчикам дистрибутивов в улучшении качества их ПО

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

Там как раз BFQ из коробки, если что. Начиная еще с 31 выпуска.

в смысле из коробки. вообще указан как дефолтный ?

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

накой фиг всралась система, в которой всё тормозит?

Не нравится - идёшь и покупаешь себе другую систему.

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

Он уже есть и называется mlock(2). Проблема такого флага в том что он плохо совместим с overcommit, а при его включении по умолчанию для всех процессов он создаст много интересных вопросов с аккаунтингом памяти.

Но если вам дейстивтельно интересна минимизация задержек в вашей системе, вы можете отдельным демоном сделать mmap+mlock на нужные вам файлы (только не забудьте транзитивные зависимости библиотек и прочие внезапно нужные ресурсы).

Arrest
()
Ответ на: комментарий от tiinn

привет, как там в альтернативной реальности?
макос не продают.
редхат для сохо тоже не продают по нормальному ценнику

продаётся только винда в которой ПО на порядок хуже..

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

Проблема такого флага в том что он плохо совместим с overcommit, а при его включении по умолчанию для всех процессов он создаст много интересных вопросов с аккаунтингом памяти

описано так, будто сжатие в памяти уже существует в форме какой дедупликации и без неё ОС будет жрать на порядок больше памяти.

впрочем, у меня есть немножко и я готов проверить.
в «пару кликов мышью» можно пару значений переменных в сорцах поменять и скомпилировать, запуститься?

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

макос не продают. редхат для сохо тоже не продают по нормальному ценнику продаётся только винда в которой ПО на порядок хуже..

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

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

плохо совместим с overcommit

Тоже вредительская технология, в Windows и Haiku нет overcommit и они лучше выдерживают ситуации нехватки памяти. Видимо этот overcommit придумали для запуска кривых программ с утечками памяти.

X512 ★★★★★
()
Последнее исправление: X512 (всего исправлений: 2)

Ведь цель по умолчанию - приемлемый отклик интерфейса, а не серверные функции

Уверен? На прошивке для докера, которая пилится корпорациями именно для этого?

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

Если с отзывчивостью линукса никто ничего не делает - значит, не особо это нужно.

Десктопный Линукс в целом мало кому нужен.

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

Описано так что в ядре есть отдельные rlimit/capability на mlock, о которых нужно внимательно думать для пограничных случаев, если вы захотите это апстримить.

Начните с LD_PRELOAD на mmap? Я боюсь что патча для ядра в полторы строки я не готовил.

Arrest
()
Ответ на: комментарий от Midael

что за прошивка для докера? поподробнее

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

Можете обойтись LD_PRELOAD или попросту vmtouch, подобрав интересные бинарники.

Arrest
()
Ответ на: комментарий от X512

Десктопный Линукс в целом мало кому нужен.

И это правда.

tiinn ★★★★★
()

очему ведущие дистрибутивы linux для десктопа (н.п. ubuntu, fedora, debian, arch) не включают их умолчанию? Ведь цель по умолчанию - приемлемый отклик интерфейса, а не серверные функции.

Очевидно потому, что в ведущих дистрибутивах для десктопа (н.п. ubuntu, fedora, debian, arch) и так нормальный отклик интерфейса.

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

Но курсор ведь не тормозит.

Ага, окна по минуте перерисовываются при переключении, но главное курсор не тормозит...

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

Для себя вы можете включить строгое поведение как в Windows

К сожалению многие современные реализации кучи (malloc) завязаны на overcommit. Из-за этого Haiku до сих пор сидит на Hoard 2. Из современных аллокаторов с корректной обработкой нехватки памяти есть надежды только на musl mallocng (обсуждение Haiku).

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

Fedora Workstation 33 (Live CD):

[liveuser@localhost-live ~]$ cat /boot/config-5.8.15-301.fc33.x86_64 | grep IOSCHED
CONFIG_MQ_IOSCHED_DEADLINE=y
CONFIG_MQ_IOSCHED_KYBER=y
CONFIG_IOSCHED_BFQ=y
CONFIG_BFQ_GROUP_IOSCHED=y
[liveuser@localhost-live ~]$ 
neocrust ★★★★★
()
Ответ на: комментарий от neocrust

IOSCHED

Почему планировка ввода/вывода влияет на курсор? Координаты курсора в файл на диске пишутся?

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

с серверфаултс:

But when I change vm.overcommit_memory from 0 to 2, I'm unable to start the same set of applications that I could start before the change, especially amarok.

зачем советуете вредное?

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

Почему планировка ввода/вывода влияет на курсор? Координаты курсора в файл на диске пишутся?

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

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

Не абстрактно вредное, а как в Windows.

Вероятно, автор не менял overcommit_limit или еще что-то в этом же духе – при (по умолчанию включенном) OVERCOMMIT_GUESS система тоже позволяет выделять не неограниченное адресное пространство, а лишь не больше свободной памяти плюс свопа.

Arrest
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.