URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 73959
[ Назад ]

Исходное сообщение
"ulatencyd - система динамической оптимизации отзывчивости Li..."

Отправлено opennews , 13-Янв-11 13:53 
В списке рассылки разработчиков Linux-ядра представлено (http://permalink.gmane.org/gmane.linux.kernel/1085285) системное приложение ulatencyd (https://github.com/poelzi/ulatencyd/), меняющее в фоновом режиме параметры планировщика задач (через манипуляцию с cgroups, nice, ionice и т.п.) и другие характеристики Linux-ядра, динамически подгоняя их для обеспечения максимальной отзывчивости десктоп-системы.


Параметры работы ulatencyd  задаются через правила, оформленные в виде скриптов на языке Lua (непосредственно демон написан на Си), поэтому пользователь легко может изменить поведение и реализовывать собственные методы тюнинга. Для сбора информации о состоянии процессов используются (https://github.com/poelzi/ulatencyd/raw/master/docs/architec...) данные из файловой системы proc, интерфейса  netlink и встроенной в ядро системы аудита. При росте нагрузки со стороны отдельных процессов демон на основании определенных на языке Lua правил принимает решение об ужесточении лимитов ...

URL: http://permalink.gmane.org/gmane.linux.kernel/1085285
Новость: http://www.opennet.me/opennews/art.shtml?num=29259


Содержание

Сообщения в этом обсуждении
"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено Аноним , 13-Янв-11 13:53 
Больше программ хороших и разных

"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено 0xCC , 13-Янв-11 22:53 
и что характерно, главное начать: сначала решили подобное в ядре, и теперь люди тут же написали/додумали новое в юзерспейсе! это очень здорово.

"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено Анон , 13-Янв-11 14:00 
(хмыкаю) Лучше меньше да лучше (С) В.И. Ленин.

"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено Аноним , 13-Янв-11 14:12 
Радуют сдвиги в верном направлении, не радует что для этого потребовалось 20 лет, и до сих пор далеко не все разработчики осознают значимость отзывчивости десктопа, а ведь это важнейший параметр.

"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено Другой аноним , 13-Янв-11 14:17 
> не все разработчики осознают значимость отзывчивости десктопа

Может потому, что она не очень значима? Ведь это удобство, не более того.


"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено Аноним , 13-Янв-11 14:27 
>Ведь это удобство, не более того.

На десктопе именно это и есть самое главное. Я не могу работать, когда все лагает и тормозит. Пользователю как правило плевать на то, что какой-нибудь gzip упакует 8Гб на 5 секунд медленней, а вот если во время той же упаковки ничего больше делать невозможно, то это уже очень сильно раздражает.
Кстати, это прекрасная иллюстрация технократического образа мышления, в котором на первое место ставится не человек а машина. Пару лет назад создавалось впечатление, что Con Kolivas был единственным разработчиком, который заботился о простых юзерах)


"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено grayich , 13-Янв-11 14:37 
значима!
Если лет 5 назад ещё можно было поспорить, то сейчас линукс на десктопе довольно обыденное дело, а если учесть всякие гаджеты то и подавно.

"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено Толстый_ , 13-Янв-11 17:17 
линукс на десктопе обычное дело? мои тапочки плакали.

"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено онанем , 14-Янв-11 10:09 
а что такого?

"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено Анонизмус , 16-Янв-11 15:53 
1% - это обыденное дело?

"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено Толстый_ , 17-Янв-11 19:44 
Вам тут ниже ответили. Мне кажется и одного процента даже нету, потому что гиков не так много. Я не знаю ни одного человека кроме себя, и не программиста, который бы юзал линукс.

"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено grayich , 18-Янв-11 15:00 
Я знаю достаточно(около 15) людей уровня "продвинутый пользователь" которые пользуют(на работе и дома) убунту (реже другие дистры) и в целом выглядят более довольными чем на венде, хотя конечно не всё идеально.

p.s.
Заметил большинству таких людей за 30, видать опыт(и лень) берёт своё :)
а насчет статистики 1%, она несколько исскуственна, и насчет неё можно вечно спорить,
имхо - сейчас реально где-то около 5% и растёт


"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено Alex , 13-Янв-11 14:34 
Вы так говорите, будто для сервера отзывчивость не нужна...

"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено gaga , 13-Янв-11 14:54 
> Вы так говорите, будто для сервера отзывчивость не нужна...

Нужна, конечно. Кстати, никто не в курсе, как запретить вытеснять страницы приложений в своп при наличии свободной памяти? Это тоже очень влияет на интерактивность. Установка vm.swappiness в 0 не помогает.


"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено онано , 13-Янв-11 15:32 
>Нужна, конечно. Кстати, никто не в курсе, как запретить вытеснять страницы приложений в своп при наличии свободной памяти? Это тоже очень влияет на интерактивность. Установка vm.swappiness в 0 не помогает.

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

По сабжу - там константа + swappines, наверное, только патчить. Я бы не стал. ;)


"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено gaga , 13-Янв-11 15:54 
Я тоже думал над этим, прочитал несколько срачей разработчиков по этому поводу и решил, что лучше для меня отключить. Потому что происходит вот что: у меня комп включен постоянно, раздает сразу много торрентов, фтп и пр. все это не жрет особо много ресурсов, но держит открытыми кучу файлов. При этом запущен фаерфокс, который занимает 200-300 метров памяти и никуда не обращается в простое, в отличие от торрентов, поэтому постепенно вытесняется в своп со многими другими приложениями. Ну и вот я прихожу домой, дергаю мышкой и примерно 1-2 минуты(!) наслаждаюсь скрежетом диска и полностью зависшим гуем.
Дело в том, что если память кончается, то тормоза неизбежны в любом случае и при любой политике свопа, но это ожидаемое поведение. А вот то, что при наличии кучи свободной памяти и всего прочего начинаются адовые тормоза очевидно неправильно. И уж совсем неправильно не давать пользователю это поменять - к вопросу о технократическом подходе.

"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено anthonio , 13-Янв-11 16:47 
а не пробовали не монтировать swap? Тоже интересно чем дело закончится. :)

"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено gaga , 13-Янв-11 23:48 
> а не пробовали не монтировать swap? Тоже интересно чем дело закончится. :)

Пробовал, но у меня всего 1 Гб памяти, иногда(очень редко) ее действительно не хватает. Да и не спортивно это, своп отключать.



"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено онано , 13-Янв-11 17:00 
>Дело в том, что если память кончается, то тормоза неизбежны в любом случае и при любой политике свопа

Нихт. В том-то вся и суть.


"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено онано , 13-Янв-11 17:09 
>А вот то, что при наличии кучи свободной памяти и всего прочего начинаются адовые тормоза очевидно неправильно.

Видимо, что-то точно не свободно, особенно ежель 1-2 минуты. ;) Диск?

>И уж совсем неправильно не давать пользователю это поменять - к вопросу о технократическом подходе.

Ну да, теперь у нас есть надежда на сабж (ulatencyd) %) Либо ручками ionice и иже с ним.


"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено Michael Shigorin , 13-Янв-11 20:36 
> поэтому постепенно вытесняется в своп со многими другими приложениями.
> Ну и вот я прихожу домой, дергаю мышкой и примерно 1-2 минуты(!)

Практически 1:1 напоминает описание дёрганья мышкой под AIX лет десять тому. :)  Доросли...

А, вот: http://tinyurl.com/frl-aix-swap


"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено gaga , 13-Янв-11 23:53 
Так о том и речь, что может быть при некоторых условиях это и правильно (хотя я не разделяю мнения о том, что память должна быть использована целиком ценой таких жертв), но на десктопе уж точно должна быть возможность изменить такую политику и вообще упор надо делать на интерактивность. Хорошо что хоть кто-то этим занимается, потому что ситуация действительно нездоровая.


"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено Alexander Sashnov , 18-Янв-11 16:09 
>  Ну и
> вот я прихожу домой, дергаю мышкой и примерно 1-2 минуты(!) наслаждаюсь
> скрежетом диска и полностью зависшим гуем.

Ubuntu 10.04 i386, 1 Gb RAM, Gnome, transmission.
Swap подключен и не используется. Никаких тормозов не наблюдаю после долгого "простоя"
(работает круглосуточно неделями).


"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено pavlinux , 14-Янв-11 02:26 

>.... никто не в курсе, как запретить вытеснять страницы приложений в своп


#include <sys/resource.h>
/* ... */
struct rlimit limit;
limit.rlim_cur = 0;
limit.rlim_max = 0;
if (setrlimit(RLIMIT_CORE, &limit) != 0) {
    /* Handle error */
}

long pagesize = sysconf(_SC_PAGESIZE);
if (pagesize == -1) {
  /* Handle error */
}

char *secret_buf;
char *secret;

secret_buf = (char *)malloc(size+1+pagesize);
if (!secret_buf) {
  /* Handle error */
}

/* mlock() may require that the address is a multiple of PAGESIZE */
secret = (char *)((((intptr_t)secret_buf + pagesize - 1) / pagesize) * pagesize);

if (mlock(secret, size+1) != 0) {
    /* Handle error */
}

/* Perform operations using secret... */

if (munlock(secret, size+1) != 0) {
    /* Handle error */
}
secret = NULL;

free(secret_buf);
secret_buf = NULL;



"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено pkunk , 13-Янв-11 20:17 
Да и раньше было:
http://thermal.cnde.iastate.edu/~sdh4/verynice/

"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено онано , 14-Янв-11 14:36 
> Да и раньше было:
> http://thermal.cnde.iastate.edu/~sdh4/verynice/

Спасибо. Действительно очень похоже на сабж. Вот еще нашел в репах debian - renice http://www.cgarbs.de/stuff.en.html



"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено онано , 14-Янв-11 14:38 
*reniced

"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено Zenitur , 14-Янв-11 16:48 
Отзывчивость десктопа в Linux отличная без всяких патчей. Во всяком случае по сравнению с Windows версий 95-XP.

"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено тоже Аноним , 13-Янв-11 14:18 
> Параметры работы ulatencyd задаются через правила, оформленные в виде скриптов на языке Lua, поэтому пользователь легко может изменить поведение

Да, скрипты на Lua для пользователей - пара пустяков... И вообще, зачем на десктопе гуй?


"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено Lain_13 , 13-Янв-11 14:55 
Я знаю что такое язык программирования состоящий исключительно из GUI в котором всё делается мышекликанием. Поверь, если б ты это видел, то проклял бы его автора и весь его род до пятого колена, а то и дальше. Lua тут на своём месте, простой пользователь настраивать эти скрипты под себя всё равно не полезет, а продвинутый — разберется.

"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено crunch , 13-Янв-11 16:07 
HiAsm?

"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено JL2001 , 14-Янв-11 16:20 
> Я знаю что такое язык программирования состоящий исключительно из GUI в котором
> всё делается мышекликанием. Поверь, если б ты это видел, то проклял
> бы его автора и весь его род до пятого колена

дайте пощупать, хочу ощутить на себе


"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено Damon_ , 14-Янв-11 19:54 
Не уверен, что речь о LabVIEW, но, вроде, достаточно визуальная фиговина.

http://www.ntecs.de/old-hp/uu9r/lang/html/labview.en.html -- картинка.


"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено JL2001 , 15-Янв-11 00:53 
> Не уверен, что речь о LabVIEW, но, вроде, достаточно визуальная фиговина.
> http://www.ntecs.de/old-hp/uu9r/lang/html/labview.en.html -- картинка.

спасибо, даже если не оно - "пощупать мышкой" там есть чего


"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено онано , 13-Янв-11 15:40 
>Да, скрипты на Lua для пользователей - пара пустяков... И вообще, зачем на десктопе гуй?

Это прежде всего для дистрописателей и прочих разработчиков. Сходи по ссылке - там уже готовые скрипты для гнума, кде и пр. Нужно только install. ;)


"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено СуперАноним , 13-Янв-11 14:22 
>Параметры работы ulatencyd задаются через правила, оформленные в виде скриптов на языке Lua

Питонисты вполне справедливо возмутятся, почему правила задаются не на Python, перлисты - почему не на Perl, рубисты - почему не Ruby и т.д. Поэтому сделать правила на XML и будет шеколадно.


"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено Аноним , 13-Янв-11 14:34 
json же!

"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено nil , 13-Янв-11 15:21 
чтобы возмущались все и одинаково, ага.

"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено rshadow , 13-Янв-11 16:27 
сделать одинаково плохо - не выход

"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено dq0s4y71 , 13-Янв-11 18:07 
Lua, в отличие от жирных Питона и Перла, в скомпилированном виде больше 180К никогда не занимает. При этом довольно мощный (даже ООП поддерживает) и шустрый. Для языка правил - самое то.

"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено Аноним , 13-Янв-11 15:28 
Это же продолжение Марлезонского балета известного LKML-срача "200 строк в ядре vs 4 строчки на bash" и тонких метаний по вопросу должно ли ядро проявлять эвристику, или же сессия - явление юзерспейсовое?

Если да - удивлен, что никто не комментирует. С нетерпением ждем реакции Линуса.


"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено онано , 13-Янв-11 15:34 
>С нетерпением ждем реакции Линуса.

:D


"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено онано , 13-Янв-11 15:38 
Посмотрел. Думаю, будет жить.

"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено Кракен , 13-Янв-11 17:18 
Странная тенденция. Все становится слишком сложно - демон через сигрупс на основании нетлинк и тд... А ведь разделение ресурсов - одна из немногих основных функций ядра в теории. Почему в линуксе выстраивают вот такие вот конструкции для того, что другие системы могут просто так? Нелюбимый мной макос, вполне нормально себя ведет при высокой фоновой загрузке, например.

"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено Аноним , 13-Янв-11 17:25 
Ядро не имеет никакого понятия о сессиях. Оно не знает ничего про гуй с его виртуальными десктопами, и не понимает в активных и свернутых окнах. И уж, тем более, не знает о мультипроцессовых браузерах и какая там вкладка в Chromium'е открыта.

Ядро делит ресурсы, и это оно делать умеет. А вот правила как делить ресурсы ему дает юзерспейсовый демон.


"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено Кракен , 13-Янв-11 18:03 
Зачем ему все это знать? Просто делить поравну.

"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено онано , 13-Янв-11 18:12 
> Зачем ему все это знать? Просто делить поравну.

Толстовато.



"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено Кракен , 13-Янв-11 18:55 
> Толстовато.

Пойдет. :)



"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено dq0s4y71 , 13-Янв-11 18:13 
Ага, "отобрать все и поделить" :) В результате при перекодировании фильма ffmpeg-ом и одновременного серфинья инета музыку уже слушать невозможно...

"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено Кракен , 13-Янв-11 18:23 
Почему? Невозможно будет какраз в случае, если ффмпегу будет отдано почти все процессорное время, если же музакльный плеер будет гарантировано получать свои 25%(упрощенно в случае 4х процессов), то все будет ок.

"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено dq0s4y71 , 13-Янв-11 18:34 
Вот если делить все поровну, то плеер как раз не будет получать свой процент _гарантированно_, т.к. чем больше будет запущено процессов, тем меньше будет получать каждый из них.

"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено Кракен , 13-Янв-11 18:54 
Очевидно, что делится среди тех, кому надо. Да, задача не тривиальная, но то для чего пишутся вот такие демоны в линуксе сейчас реализовано методами ядра в других системах. По личному опыту могу назвать МакОС. Так же читал, что QNX весьма неплох в этом. Кто-то говорил, что фрибзд так же не страдает такими проблемами.

"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено giperon , 15-Янв-11 09:22 
Что ж это за плеер такой которому нужно 25%?

"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено DFX , 14-Янв-11 15:03 
"Windows does not have better scheduling at all. The problem with the linux scheduler that he is just to fair when not adjusted. The windows scheduler is just unfair in general, at least up to vista. Fair in general is better, if it can be adjusted to what the user expects :-)"© автор ulatencyd на http://phoronix.com/forums/showthread.php?28630-ULatencyD-En...

"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено Анонимно , 13-Янв-11 17:24 
Не думаю что сработает. Одно и тоже гуи приложение может как интенсивно графику рисовать, так и декодировать, кэшировать или ещё что-нибудь. Так же скрипты луа в демоне - плохая идея. Лучше бы иметь хорошую документацию, и уже на уровне дистрибутива предоставлять статические типовые установки.

"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено онано , 13-Янв-11 18:08 
>Одно и тоже гуи приложение может как интенсивно
> графику рисовать, так и декодировать, кэшировать или ещё что-нибудь.

Вполне решаемо, например, с помощью wm.

> Так же
> скрипты луа в демоне - плохая идея. Лучше бы иметь хорошую
> документацию, и уже на уровне дистрибутива предоставлять статические типовые установки.

Не осилил. Честно.



"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено User294 , 13-Янв-11 18:07 
> сравним c 200-строчным патчем

А может тогда хватит 200 строчного патча? А то скрипты на Lua и эвристика для отзывчивости системы - это уже какой-то злостный оверкилл. Может еще пользователя заодно эвристикой следует заменить? :)


"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено Аноним , 13-Янв-11 18:52 
Уже давно так постепенно и происходит

"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено Crazy Alex , 13-Янв-11 19:10 
Как раз нормально. Иначе получаем забитые гвоздями правила. А так - имеем гибкую механику.

"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено User294 , 13-Янв-11 23:00 
> Как раз нормально. Иначе получаем забитые гвоздями правила. А так - имеем
> гибкую механику.

А кому она нужна, эта гибкая механика? Полутора землекопам? Юзеры ни в зуб ногой в этом - им надо чтобы "просто работало". Эстетов которые будут ацца с луа-скриптами чтобы систему не клинило и оценят все навороты - на всю планету с десяток наверное не найдется.


"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено Arcturus , 13-Янв-11 19:14 
> А может тогда хватит 200 строчного патча? А то скрипты на Lua
> и эвристика для отзывчивости системы - это уже какой-то злостный оверкилл.
> Может еще пользователя заодно эвристикой следует заменить? :)

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

PS. Меня беспокоит судьба mpd (music player daemon): музыку он в фоне-то проигрывает, и не хотелось бы при высокой нагрузке, чтобы музыка "икала"...


"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено User294 , 13-Янв-11 23:05 
> Отзывчивость относится к удобству использования (юзабилити)

Отзывчивость относится к качеству работы системы. Хорошая операционка не должна позволять одним вызвать существенную деградацию качества работы других.

> и поэтому однозначно относится к пользовательскому уровню;
> ядро об этом ничего не должно знать.

Сродни заявлению "ядро не должно хорошо работать без костылей". Не, извините, если одинаковый результат достигается патчем на 200 строк и мегатурбовелосипедом требующим аж программить скрипты на луа - шло б оно такое, а? 200 строк - меньше говна в системе, а типичный юзер все-равно не заметит результата. А осчастливливать полтора гуры - неблагодарное дело. Они покряхтят но и без супердемонов с луа справятся имхо :)

> PS. Меня беспокоит судьба mpd (music player daemon): музыку он в фоне-то
> проигрывает, и не хотелось бы при высокой нагрузке, чтобы музыка "икала"...

А что, накрайняк ему приоритет поднять - это такая нереальная инженерная задача? oO


"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено Arcturus , 14-Янв-11 00:14 
>> Отзывчивость относится к удобству использования (юзабилити)
> Отзывчивость относится к качеству работы системы. Хорошая операционка не должна позволять
> одним вызвать существенную деградацию качества работы других.

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

Т.е. пользователь логинится, запускает браузер, и в терминале make -j50 для сборки Qt. Для ядра это равнозначные процессы, и раз пользователь не указал их различные приоритеты, то и будет равномерно распределять время между 51 процессом -> будет тормозить. И ядро НЕ ДОЛЖНО знать, что какой-то процесс, браузер (/usr/bin/firefox? /bin/browser?), оказывается, вопреки пожеланию пользователя, высокоприоритетным в отношении ресурсов...

А предлагаемый эвристический демон, как раз-таки должен, зная "обычные" предпочтения пользователя (вроде высокоприоритетности /usr/bin/firefox) разруливать ресурсами.

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

>> и поэтому однозначно относится к пользовательскому уровню;
>> ядро об этом ничего не должно знать.
> Сродни заявлению "ядро не должно хорошо работать без костылей". Не, извините, если
> одинаковый результат достигается патчем на 200 строк и мегатурбовелосипедом требующим
> аж программить скрипты на луа - шло б оно такое, а?
> 200 строк - меньше говна в системе, а типичный юзер все-равно
> не заметит результата. А осчастливливать полтора гуры - неблагодарное дело. Они
> покряхтят но и без супердемонов с луа справятся имхо :)

1. Не смешивайте понятия: 200-строчный патч тоже нужно было кому-то программить (системному программисту), как и демона с луа-скриптами (пользовательскому программисту). Конечному пользователю (убунтойду, да и гентушнику) не нужно ни то, ни другое делать ;-). Кроме того тюнингующий демон ("эвристика") может справиться с задачей, когда, скажем 2 чисто пользовательские программы тормозят: например, eclipse компилирующий толстый проект и браузер. Очевидно, те 4 минуты компиляции, пользователь захочет почитать opennet и посмотреть ютюб и он не должен торомозить даже на относительно слабом железе.

>> PS. Меня беспокоит судьба mpd (music player daemon): музыку он в фоне-то
>> проигрывает, и не хотелось бы при высокой нагрузке, чтобы музыка "икала"...
> А что, накрайняк ему приоритет поднять - это такая нереальная инженерная задача?
> oO

2. Как я понял, mpd не вяжется в концепцию патчика (он мониторит терминалы, а mpd запускается как системный процесс), но прекрасно вяжется с концепцией тюнингующего демона. Поэтому патч + запуск mpd с повышенным приоритетом - и есть костыль.


"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено онано , 13-Янв-11 19:38 
"евристика" lua-конфигов

...

local MediaPlayer = {
  "vlc",
  "xine",
  "mplayer.*",
  "dragon",
  "totem",
  "kplayer",
  -- audio players
  "amarok",
  "parole",
  "listen",
  "rhythmbox",
  "exaile",
}

...


"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено dq0s4y71 , 13-Янв-11 19:59 
Ты бы вообще оставил здесь только одну строчку из того скрипта. Тогда сомнений в плохой эвристике у нас не осталось бы.

"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено онано , 14-Янв-11 14:45 
Это было адресовано тем, кого так страшат lua скрипты. На счет наличия эвристических алгоритмов не смотрел, может оно и есть. Но пока больше похоже на простые списки приложений - какое в какую cgroups пихать. Потенциально, да, можно сделать много красивого и не очень.


"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено онано , 13-Янв-11 19:40 
Фаг, тебе не повезло, значит, mpd будет "икать". :D


"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено Горлов , 13-Янв-11 22:26 
>>** INFO: mount cgroups: /bin/mount -t cgroup -o blkio none /dev/cgroup/io/
>>mount: специальное устройство none не существует

Это нормально? ;-)


"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено deadless , 13-Янв-11 23:04 
Я местами тащусь с линукса, честно :) потом ведь еще изобретут кучу вареза для автоматической генерации конфигов.

Но интересно, так как мой десктоп не линукс, такие чудеса на виражах мне неизвестны, но кажется user294 писал что cgroups решают.. так выходит чо, не решают? Выходит еще демон нужен с конфигурятором?..

Иногда так почитаешь user294 да поставишь себе в очередной раз на ноут линукса, поиграешься, да потом наткнешься на какойнить прикол типа кривизны со звуком, так и забьешь на это дело. Щас вот бубунта стоит 10.10 редакция для нетбуков, вроде ничо, хотя в первый раз после загрузки наглухо повисла, пришлось повером ребутать..


"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено онано , 14-Янв-11 14:47 
Казалось бы, а при чем тут юзер? ;) Ваше дело - ждать следующей версии бубунту, в которой оно _уже_ будет прикручено или выбирать что-то другое.

"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено Zenitur , 14-Янв-11 16:50 
> Казалось бы, а при чем тут юзер? ;) Ваше дело - ждать
> следующей версии бубунту, в которой оно _уже_ будет прикручено или выбирать
> что-то другое.

Кто-то постоянно с разных ников ему гадости пишет вот уже месяца два. Но хоть убунту тоже не любит, что уже хорошо.


"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено тот_самый , 14-Янв-11 02:36 
я вон на BFS сижу, и ничо так...
генту бывает мержишь с LA=11 или иногда даже 12 а амарок спокойно себе играет и сёрфишь тоже легко по инету.

"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено Zenitur , 14-Янв-11 16:54 
> я вон на BFS сижу, и ничо так...
> генту бывает мержишь с LA=11 или иногда даже 12 а амарок спокойно
> себе играет и сёрфишь тоже легко по инету.

Суся. 2006 год. Запускаю амарок одновременно с компиляцией программы, игрой в Wine, и фаерфоксом 2 версии. Амарок стартует. Ничего не тормозит, кроме игры в Wine совсем чуть-чуть (нативная бы не тормозила). Через 40 секунд амарок стартовал, и уже запущенный амарок тоже не тормозил. От Windows такого не дождёшься. Медиаплеер стартует 3 секунды, а за это время вся система едва живая. После появления двухъядерного процессора эта проблема забыта, как мне кажется, навсегда.
P.S. Сёрфить по инету - с этим и второй пентиум с MMX справится. Если не в 20 окон и emerge не запущен.


"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено Слакварявод , 14-Янв-11 09:19 
/usr/src/poelzi-ulatencyd-85a2307/src/ulatencyd.c: В функции ‘avoid_oom_killer’:                                                                            
/usr/src/poelzi-ulatencyd-85a2307/src/ulatencyd.c:119: ошибка: ‘O_NOFOLLOW’ не описан (первое использование в этой функции)

"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено pavlinux , 14-Янв-11 14:32 
#define O_NOFOLLOW 00400000

"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено gegMOPO4 , 14-Янв-11 14:40 
Интересно, как оно будет работать с systemd, использующим cgroups для своих целей?

"ulatencyd - система динамической оптимизации отзывчивости Li..."
Отправлено pavlinux , 14-Янв-11 14:59 
ulatencyd (28670): /proc/28670/oom_adj is deprecated, please use /proc/28670/oom_score_adj instead.

Гы :)