The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"ulatencyd - система динамической оптимизации отзывчивости Li..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"ulatencyd - система динамической оптимизации отзывчивости Li..."  +/
Сообщение от opennews (??) on 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.dev/opennews/art.shtml?num=29259

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "ulatencyd - система динамической оптимизации отзывчивости Li..."  +/
Сообщение от Аноним (??) on 13-Янв-11, 13:53 
Больше программ хороших и разных
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

51. "ulatencyd - система динамической оптимизации отзывчивости Li..."  –2 +/
Сообщение от 0xCC on 13-Янв-11, 22:53 
и что характерно, главное начать: сначала решили подобное в ядре, и теперь люди тут же написали/додумали новое в юзерспейсе! это очень здорово.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

2. "ulatencyd - система динамической оптимизации отзывчивости Li..."  –1 +/
Сообщение от Анон on 13-Янв-11, 14:00 
(хмыкаю) Лучше меньше да лучше (С) В.И. Ленин.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "ulatencyd - система динамической оптимизации отзывчивости Li..."  +11 +/
Сообщение от Аноним (??) on 13-Янв-11, 14:12 
Радуют сдвиги в верном направлении, не радует что для этого потребовалось 20 лет, и до сих пор далеко не все разработчики осознают значимость отзывчивости десктопа, а ведь это важнейший параметр.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "ulatencyd - система динамической оптимизации отзывчивости Li..."  –9 +/
Сообщение от Другой аноним on 13-Янв-11, 14:17 
> не все разработчики осознают значимость отзывчивости десктопа

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

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

7. "ulatencyd - система динамической оптимизации отзывчивости Li..."  +10 +/
Сообщение от Аноним (??) on 13-Янв-11, 14:27 
>Ведь это удобство, не более того.

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

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

10. "ulatencyd - система динамической оптимизации отзывчивости Li..."  +6 +/
Сообщение от grayich (ok) on 13-Янв-11, 14:37 
значима!
Если лет 5 назад ещё можно было поспорить, то сейчас линукс на десктопе довольно обыденное дело, а если учесть всякие гаджеты то и подавно.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

28. "ulatencyd - система динамической оптимизации отзывчивости Li..."  –13 +/
Сообщение от Толстый_ on 13-Янв-11, 17:17 
линукс на десктопе обычное дело? мои тапочки плакали.
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

61. "ulatencyd - система динамической оптимизации отзывчивости Li..."  +/
Сообщение от онанем on 14-Янв-11, 10:09 
а что такого?
Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

78. "ulatencyd - система динамической оптимизации отзывчивости Li..."  +/
Сообщение от Анонизмус on 16-Янв-11, 15:53 
1% - это обыденное дело?
Ответить | Правка | ^ к родителю #61 | Наверх | Cообщить модератору

79. "ulatencyd - система динамической оптимизации отзывчивости Li..."  +/
Сообщение от Толстый_ on 17-Янв-11, 19:44 
Вам тут ниже ответили. Мне кажется и одного процента даже нету, потому что гиков не так много. Я не знаю ни одного человека кроме себя, и не программиста, который бы юзал линукс.
Ответить | Правка | ^ к родителю #61 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #79 | Наверх | Cообщить модератору

9. "ulatencyd - система динамической оптимизации отзывчивости Li..."  +/
Сообщение от Alex (??) on 13-Янв-11, 14:34 
Вы так говорите, будто для сервера отзывчивость не нужна...
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

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

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

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

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

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

25. "ulatencyd - система динамической оптимизации отзывчивости Li..."  +1 +/
Сообщение от anthonio (ok) on 13-Янв-11, 16:47 
а не пробовали не монтировать swap? Тоже интересно чем дело закончится. :)
Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

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

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


Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

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

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

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

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

Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

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

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

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

Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

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

Ответить | Правка | ^ к родителю #49 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

58. "ulatencyd - система динамической оптимизации отзывчивости Li..."  +1 +/
Сообщение от pavlinux (ok) on 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;


Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

48. "ulatencyd - система динамической оптимизации отзывчивости Li..."  +/
Сообщение от pkunk (ok) on 13-Янв-11, 20:17 
Да и раньше было:
http://thermal.cnde.iastate.edu/~sdh4/verynice/
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

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

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


Ответить | Правка | ^ к родителю #48 | Наверх | Cообщить модератору

64. "ulatencyd - система динамической оптимизации отзывчивости Li..."  +/
Сообщение от онано on 14-Янв-11, 14:38 
*reniced
Ответить | Правка | ^ к родителю #63 | Наверх | Cообщить модератору

71. "ulatencyd - система динамической оптимизации отзывчивости Li..."  +/
Сообщение от Zenitur on 14-Янв-11, 16:48 
Отзывчивость десктопа в Linux отличная без всяких патчей. Во всяком случае по сравнению с Windows версий 95-XP.
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "ulatencyd - система динамической оптимизации отзывчивости Li..."  –7 +/
Сообщение от тоже Аноним (ok) on 13-Янв-11, 14:18 
> Параметры работы ulatencyd задаются через правила, оформленные в виде скриптов на языке Lua, поэтому пользователь легко может изменить поведение

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

12. "ulatencyd - система динамической оптимизации отзывчивости Li..."  +4 +/
Сообщение от Lain_13 email on 13-Янв-11, 14:55 
Я знаю что такое язык программирования состоящий исключительно из GUI в котором всё делается мышекликанием. Поверь, если б ты это видел, то проклял бы его автора и весь его род до пятого колена, а то и дальше. Lua тут на своём месте, простой пользователь настраивать эти скрипты под себя всё равно не полезет, а продвинутый — разберется.
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

22. "ulatencyd - система динамической оптимизации отзывчивости Li..."  +1 +/
Сообщение от crunch (??) on 13-Янв-11, 16:07 
HiAsm?
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

75. "ulatencyd - система динамической оптимизации отзывчивости Li..."  +/
Сообщение от Damon_ (ok) on 14-Янв-11, 19:54 
Не уверен, что речь о LabVIEW, но, вроде, достаточно визуальная фиговина.

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

Ответить | Правка | ^ к родителю #70 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #75 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

8. "ulatencyd - система динамической оптимизации отзывчивости Li..."  +3 +/
Сообщение от Аноним (??) on 13-Янв-11, 14:34 
json же!
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

13. "ulatencyd - система динамической оптимизации отзывчивости Li..."  +3 +/
Сообщение от nil (??) on 13-Янв-11, 15:21 
чтобы возмущались все и одинаково, ага.
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

24. "ulatencyd - система динамической оптимизации отзывчивости Li..."  +2 +/
Сообщение от rshadow email on 13-Янв-11, 16:27 
сделать одинаково плохо - не выход
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

33. "ulatencyd - система динамической оптимизации отзывчивости Li..."  +2 +/
Сообщение от dq0s4y71 (??) on 13-Янв-11, 18:07 
Lua, в отличие от жирных Питона и Перла, в скомпилированном виде больше 180К никогда не занимает. При этом довольно мощный (даже ООП поддерживает) и шустрый. Для языка правил - самое то.
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

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

:D

Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

17. "ulatencyd - система динамической оптимизации отзывчивости Li..."  +/
Сообщение от онано on 13-Янв-11, 15:38 
Посмотрел. Думаю, будет жить.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

29. "ulatencyd - система динамической оптимизации отзывчивости Li..."  +/
Сообщение от Кракен (ok) on 13-Янв-11, 17:18 
Странная тенденция. Все становится слишком сложно - демон через сигрупс на основании нетлинк и тд... А ведь разделение ресурсов - одна из немногих основных функций ядра в теории. Почему в линуксе выстраивают вот такие вот конструкции для того, что другие системы могут просто так? Нелюбимый мной макос, вполне нормально себя ведет при высокой фоновой загрузке, например.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

32. "ulatencyd - система динамической оптимизации отзывчивости Li..."  +/
Сообщение от Кракен (ok) on 13-Янв-11, 18:03 
Зачем ему все это знать? Просто делить поравну.
Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

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

Толстовато.


Ответить | Правка | ^ к родителю #32 | Наверх | Cообщить модератору

42. "ulatencyd - система динамической оптимизации отзывчивости Li..."  –1 +/
Сообщение от Кракен (ok) on 13-Янв-11, 18:55 
> Толстовато.

Пойдет. :)


Ответить | Правка | ^ к родителю #36 | Наверх | Cообщить модератору

37. "ulatencyd - система динамической оптимизации отзывчивости Li..."  +/
Сообщение от dq0s4y71 (??) on 13-Янв-11, 18:13 
Ага, "отобрать все и поделить" :) В результате при перекодировании фильма ffmpeg-ом и одновременного серфинья инета музыку уже слушать невозможно...
Ответить | Правка | ^ к родителю #32 | Наверх | Cообщить модератору

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

39. "ulatencyd - система динамической оптимизации отзывчивости Li..."  +/
Сообщение от dq0s4y71 (??) on 13-Янв-11, 18:34 
Вот если делить все поровну, то плеер как раз не будет получать свой процент _гарантированно_, т.к. чем больше будет запущено процессов, тем меньше будет получать каждый из них.
Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

41. "ulatencyd - система динамической оптимизации отзывчивости Li..."  +/
Сообщение от Кракен (ok) on 13-Янв-11, 18:54 
Очевидно, что делится среди тех, кому надо. Да, задача не тривиальная, но то для чего пишутся вот такие демоны в линуксе сейчас реализовано методами ядра в других системах. По личному опыту могу назвать МакОС. Так же читал, что QNX весьма неплох в этом. Кто-то говорил, что фрибзд так же не страдает такими проблемами.
Ответить | Правка | ^ к родителю #39 | Наверх | Cообщить модератору

77. "ulatencyd - система динамической оптимизации отзывчивости Li..."  +/
Сообщение от giperon email(??) on 15-Янв-11, 09:22 
Что ж это за плеер такой которому нужно 25%?
Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

69. "ulatencyd - система динамической оптимизации отзывчивости Li..."  +/
Сообщение от DFX (ok) on 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...
Ответить | Правка | ^ к родителю #32 | Наверх | Cообщить модератору

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

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

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

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

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


Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

34. "ulatencyd - система динамической оптимизации отзывчивости Li..."  +/
Сообщение от User294 (ok) on 13-Янв-11, 18:07 
> сравним c 200-строчным патчем

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

40. "ulatencyd - система динамической оптимизации отзывчивости Li..."  +2 +/
Сообщение от Аноним (??) on 13-Янв-11, 18:52 
Уже давно так постепенно и происходит
Ответить | Правка | ^ к родителю #34 | Наверх | Cообщить модератору

43. "ulatencyd - система динамической оптимизации отзывчивости Li..."  +/
Сообщение от Crazy Alex email(??) on 13-Янв-11, 19:10 
Как раз нормально. Иначе получаем забитые гвоздями правила. А так - имеем гибкую механику.
Ответить | Правка | ^ к родителю #34 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #43 | Наверх | Cообщить модератору

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

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

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

Ответить | Правка | ^ к родителю #34 | Наверх | Cообщить модератору

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

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

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

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

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

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

Ответить | Правка | ^ к родителю #44 | Наверх | Cообщить модератору

57. "ulatencyd - система динамической оптимизации отзывчивости Li..."  +1 +/
Сообщение от Arcturus (ok) on 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 с повышенным приоритетом - и есть костыль.

Ответить | Правка | ^ к родителю #54 | Наверх | Cообщить модератору

45. "ulatencyd - система динамической оптимизации отзывчивости Li..."  +/
Сообщение от онано on 13-Янв-11, 19:38 
"евристика" lua-конфигов

...

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

...

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

47. "ulatencyd - система динамической оптимизации отзывчивости Li..."  +2 +/
Сообщение от dq0s4y71 (??) on 13-Янв-11, 19:59 
Ты бы вообще оставил здесь только одну строчку из того скрипта. Тогда сомнений в плохой эвристике у нас не осталось бы.
Ответить | Правка | ^ к родителю #45 | Наверх | Cообщить модератору

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

Ответить | Правка | ^ к родителю #47 | Наверх | Cообщить модератору

46. "ulatencyd - система динамической оптимизации отзывчивости Li..."  –1 +/
Сообщение от онано on 13-Янв-11, 19:40 
Фаг, тебе не повезло, значит, mpd будет "икать". :D

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

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

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

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

67. "ulatencyd - система динамической оптимизации отзывчивости Li..."  +/
Сообщение от онано on 14-Янв-11, 14:47 
Казалось бы, а при чем тут юзер? ;) Ваше дело - ждать следующей версии бубунту, в которой оно _уже_ будет прикручено или выбирать что-то другое.
Ответить | Правка | ^ к родителю #53 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #67 | Наверх | Cообщить модератору

59. "ulatencyd - система динамической оптимизации отзывчивости Li..."  +/
Сообщение от тот_самый on 14-Янв-11, 02:36 
я вон на BFS сижу, и ничо так...
генту бывает мержишь с LA=11 или иногда даже 12 а амарок спокойно себе играет и сёрфишь тоже легко по инету.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #59 | Наверх | Cообщить модератору

60. "ulatencyd - система динамической оптимизации отзывчивости Li..."  +/
Сообщение от Слакварявод on 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’ не описан (первое использование в этой функции)
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

62. "ulatencyd - система динамической оптимизации отзывчивости Li..."  +/
Сообщение от pavlinux (ok) on 14-Янв-11, 14:32 
#define O_NOFOLLOW 00400000
Ответить | Правка | ^ к родителю #60 | Наверх | Cообщить модератору

65. "ulatencyd - система динамической оптимизации отзывчивости Li..."  +/
Сообщение от gegMOPO4 (ok) on 14-Янв-11, 14:40 
Интересно, как оно будет работать с systemd, использующим cgroups для своих целей?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

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

Гы :)

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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