?

Log in

No account? Create an account
Что мне не нравится на десктопе - Журнал Восставшей Машины [entries|archive|friends|userinfo]
ArkanoiD

[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Что мне не нравится на десктопе [Aug. 17th, 2009|04:05 pm]
ArkanoiD
[Tags|, ]

Что должна уметь любая десктопная операционная система (и тем не менее, не умеет).

Обеспечивать правильную приоритизацию пользовательских и системных приложений, в том числе ввода-вывода. То есть, "если я смотрю кино или играю в игрушку, сделать так, чтобы НИЧТО из фоновых процессов не могло заставить кино дергаться или игрушку притормаживать в ответственный момент". Надо диск проиндексировать или еще что - делай это в час по чайной ложке, чтобы я не заметил. Теоретически, в линуксе есть поддержка реалтайма какая-то. Практически, десктопного применения этому нет. Нет, "купи компьютер помощнее" или "не запускай всякую фигню" или "а у меня ничего такого не случается" это не ответ. Нет, на маке это не лучше.

Что линукс делает с самого начала, бессмысленно и беспощадно, уже 15 с лишним лет и от чего его невозможно отучить

В случае нехватки памяти отключает дисковый кэш, что в сочетании с тяжелым свапом эффективно приводит систему в состояние полного отсутствия реакции на внешние раздражители - висим и тарахтим диском. Отключение оверкоммита не влияет. Ни один другой юникс так себя не ведет. Зачем это сделано? Не понимаю.

Про пользовательские интерфейсы на этот раз не буду, уже сто раз писал.
linkReply

Comments:
[User Picture]From: blacklion
2009-08-17 12:18 pm (UTC)
С первым есть подвижки — всякие I/O стратегии, которые могут быть pluggable. 
(Reply) (Thread)
[User Picture]From: arkanoid
2009-08-17 12:22 pm (UTC)
а где почитать и когда оно доберется до end user'а?
(Reply) (Parent) (Thread) (Expand)
From: pustota1
2009-08-17 12:18 pm (UTC)
Это ты себе в requirements пишешь или зачем ?
(Reply) (Thread)
[User Picture]From: arkanoid
2009-08-17 12:21 pm (UTC)
На всякий случай, стоит проговорить. Вдруг есть какое-то решение или я сподвигну кого-нибудь на его создание ;-)
(Reply) (Parent) (Thread) (Expand)
[User Picture]From: amarao_san
2009-08-17 12:24 pm (UTC)
Нехватка памяти это одно.

А вот приоритетизация IO - ionice.
(Reply) (Thread)
[User Picture]From: arkanoid
2009-08-17 12:29 pm (UTC)
Я в курсе про ionice. Не решает. И должно работать "из коробки", а не принудительным тюнингом всех скриптов запуска и т д.
(Reply) (Parent) (Thread)
[User Picture]From: ufm
2009-08-17 12:44 pm (UTC)
О, я тут диск сейчас гоняю под bonnie++ в линуксе - феерично.
(Reply) (Thread)
From: luarvique
2009-08-17 01:02 pm (UTC)
"Поддержка" realtimа в Линуксе, как и в других Юниксах ничего, кроме злорадного смешка, вызвать не может. Ее в принципе невозможно сделать как следует.

Насчет индексирования - отключите Tracker к чертовой матери (для этого правда придется снести его целиком, иначе мне не удалось) и будет Вам счастие.
(Reply) (Thread)
[User Picture]From: arkanoid
2009-08-17 01:06 pm (UTC)
Мне нужно принципиальное решение, а не гоняться за дюжиной симптоматических.
(Reply) (Parent) (Thread) (Expand)
[User Picture]From: jamhed
2009-08-17 01:09 pm (UTC)
А не запускать всякую фигню из коробки не ?
Щето не представляю что после netinst и aptitude install x-window-system может вообще винтом шуршать.
(Reply) (Thread)
[User Picture]From: arkanoid
2009-08-17 01:11 pm (UTC)
Не. Речь не о том.
(Reply) (Parent) (Thread) (Expand)
[User Picture]From: dil
2009-08-17 01:22 pm (UTC)
ну дык это.. системы реального времени уже давно изобрели. но на десктопах почему-то не применяют
(Reply) (Thread)
[User Picture]From: norguhtar
2009-08-17 01:33 pm (UTC)
Они сейчас активно пилят в эту сторону. В ядре уже есть вот такая вот фенечка:

Group CPU scheduler
Basis for grouping tasks (user id)

This option will choose userid as the basis for grouping
tasks, thus providing equal CPU bandwidth to each user.

второе положение:

Basis for grouping tasks (Control groups)

This option allows you to create arbitrary task groups
using the "cgroup" pseudo filesystem and control
the cpu bandwidth allocated to each such task group.

Это касается CPU.

Касательно I/O:
http://linux.die.net/man/1/ionice

Работает с CFQ.

Так что как бе все есть, но обычно не крутится ибо зачем если можно купить более быстрый компьютер.
(Reply) (Thread)
[User Picture]From: arkanoid
2009-08-17 01:46 pm (UTC)
Так что как бе все есть, но обычно не крутится ибо зачем если можно купить более быстрый компьютер.

Ага. И делать это постоянно, потому что причины тормозить тоже появляются все новые. А можно было бы чисто программно сделать так, чтобы было комфортно на отнюдь не топовом железе. Причем сделать один раз и навсегда, а не постоянно возиться с оптимизацией.
(Reply) (Parent) (Thread) (Expand)
Конь - (Anonymous) Expand
[User Picture]From: shaman007
2009-08-17 01:50 pm (UTC)
За то идеальное решение проблемы интерактивности может создать проблему выхода из повисшего VLC резетом. Мне кажется, что дело в отсутствии мотивации: сферический компьютер за 300$ и так играет видео без лагов (хорошо, до 780р), а игры все равно тормозят.
(Reply) (Thread)
[User Picture]From: arkanoid
2009-08-17 01:58 pm (UTC)
Играет, пока у него не случился какой-нибудь /etc/daily , например. Или письмо на сотню мегабайт не свалилось или еще что. Это и раздражает.

А проблема эта уже есть и так - правда, связана она больше с X-овыми глюками :-(

Edited at 2009-08-17 02:01 pm (UTC)
(Reply) (Parent) (Thread) (Expand)
(Deleted comment)
[User Picture]From: toxa
2009-08-17 02:07 pm (UTC)

plain trolling

Купи компьютер помощнее или не запускай всякую фигню. У меня вот ничего такого не случается.
(Reply) (Thread)
[User Picture]From: shaman007
2009-08-17 02:20 pm (UTC)

Re: plain trolling

А потом ты сам же жалуешься на bloatware :=)
(Reply) (Parent) (Thread)
[User Picture]From: kiltum
2009-08-17 02:07 pm (UTC)
Ну я не скажу за всю больницу, но к твоему идеалу приближается OS X. Не шутка.

У нее тормозится спотлайт, если есть енд-юзерная нагрузка. У нее квиктайм (в родных кодеках, не в левых) умеет резать канал другим софтинам, когда гонит видео по сети и так далее.

Но все это работате только в случае родного софта. Левый же по умолчанию плюет на все и всех ...
(Reply) (Thread)
[User Picture]From: arkanoid
2009-08-17 02:11 pm (UTC)
Я пару дней ее юзал как-то на чужой машинке и не заметил, чтобы она была чем-то лучше в этом смысле по субъективному ощущению - т к машинка была не самая быстрая, это самое "тарахтим и думаем" случалось регулярно :-(
(Reply) (Parent) (Thread) (Expand)
[User Picture]From: xarkonnen
2009-08-17 02:47 pm (UTC)
То есть, "если я смотрю кино или играю в игрушку, сделать так, чтобы НИЧТО из фоновых процессов не могло заставить кино дергаться или игрушку притормаживать в ответственный момент".


когда на двухпроцессорной (а процессоры не простые, а
золотые
Xeon'ы двухъядерные) машине с четырьмя гигабайтами памяти запись пдфа (да, большого, на несколько сот мег. и хуле?..) из вёрстки ввергает всю систему (да-да, ту самую неимоверномегарулезную Mac OS X) в ступор и эпилептоидные подёргивания, а индикаторы загрузки процессорных ядер при этом показывают что-то вроде 24%-32%-16%-43%, разные мысли в голову приходят. например, взять бы всех разработчиков десктопных систем, расстрелять каждого десятого, а остальных в харрошую такую шарашку посадить – может хоть тогда толк выйдет..
(Reply) (Thread)
[User Picture]From: perfect_drugg
2009-08-17 02:49 pm (UTC)
единственный способ - вручную назначать приложения, которые будут иметь наивысший приоритет, а то плееров много, браузеров не меньше, да за задач куча
и мне не всегда важна задача активная, например, просмотр видео иногда далеко не главное занятие компа
в общем, задача не решена, тк цель решения не очевидна

(Reply) (Thread)
[User Picture]From: wizzard0
2009-08-17 04:07 pm (UTC)
Большинство современных приложений создаются с расчетом на все ресурсы, а не на совместное существование. Поэтому о нормальной мультизадачности при таких подходах к _дизайну_ речь идти не может.
(Reply) (Parent) (Thread)
[User Picture]From: lupus_lupusum
2009-08-17 03:30 pm (UTC)
так это ж основа вещей: ос должна тормозить, чтобы юзер покупал новое железо, для которого он купит новую ос
(Reply) (Thread)
[User Picture]From: arkanoid
2009-08-17 03:46 pm (UTC)
Какая с этого радость тем, кто пишет Linux?
(Reply) (Parent) (Thread) (Expand)
From: ext_120798
2009-08-17 04:05 pm (UTC)
на самом деле у пингвина ещё очень, очень хорошо сделано I/O. настолько, что как её не настраивай, а тупое копирование образа двухслойного DVD с одного SATA-винта на другой всё равно приводит систему в состояние неимоверного удивления. настолько, что шедулить I/O мы уже не можем: удивляемся-с. как я не настраивал — всё одно. а винде отчего-то удаётся не уходить в заоблачные дали при этом.
O_O
(Reply) (Thread)
[User Picture]From: insa
2009-08-17 07:07 pm (UTC)
Как насчет того чтобы swap отключить? Для тестов сойдет echo 0 > /proc/sys/vm/swappines.

(Reply) (Thread)
[User Picture]From: arkanoid
2009-08-17 07:19 pm (UTC)
Понятно, что можно отключить. Хочется не отключать, а чтобы он работал нормально без этого фортеля.
(Reply) (Parent) (Thread)
[User Picture]From: iskatel
2009-08-17 08:51 pm (UTC)
Выключи, убери своп, если мало парметра swappiness.
Кэши.. ну , есть они, чтоб их.
Про IO - в любой ОС медленный диск есть гиря на ноги.
(Reply) (Thread)
[User Picture]From: arkanoid
2009-08-17 09:52 pm (UTC)
Почему другие юниксы в этой ситуации раком не встают? А если бы вставали, никому бы в голову не пришло считать это поведение нормальным?
(Reply) (Parent) (Thread) (Expand)
[User Picture]From: xsaper
2009-08-17 09:09 pm (UTC)
Магические слова навроде Preemptible kernel, low-latency desktop, CFQ disk I/O sheduler включить в ядре и посмотреть. Если не поможет, то пришлю опции тюнинга кэш<--->своп. Из каропки не работает, потому что не заплатил, а ванильное ядро оно непонятно подо что делается: и десктоп и сервер и эмбедид потянет.
(Reply) (Thread)
[User Picture]From: xsaper
2009-08-17 09:10 pm (UTC)
Ну и конечно tickless system и 1000Hz в ядре включить. Но все равно идеал будет наверное далече. Ext4 по скорости рекомендую, но за надежность не отвечаю (у меня пока все ок).
(Reply) (Parent) (Thread) (Expand)
[User Picture]From: dianat822008
2009-08-17 09:47 pm (UTC)
Няяя... ну Линукс хоть, в отличие от Винды, хоть сам окошки не тасует и фсяких мессаг не выводит )

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

А на счет свопа...няяя...у Убунты такая проблема точно есть... как решить - не знаю (((
(Reply) (Thread)
[User Picture]From: ximaera
2009-08-25 10:06 pm (UTC)
Windows -- это вообще отдельная песня, которую мы сейчас не поём. Там любое действие системы априори считается важнее действий пользователя, это -- одна из причин, по которым с ней невозможно работать.
(Reply) (Parent) (Thread)
From: pink_blond_guy
2009-08-18 12:39 am (UTC)

ну под виндой есть решение.

начиная с Win2000 можно задавать приоритеты. Можно даже скрипт написать на VBScript, где указать, для каких процессов какой приоритет поставить.
начиная с WinXP отдельно взятый процесс уже не пытается захватить всё процессорное время.
начиная с Vista процессы уже не пытаются свопиться при наличии достаточного объёма оперативы. с распределением процессора ещё лучше, одновременно смотреть DVD и играть в реурсоёмкую игрушку не проблема. На показ кино будет тратиться ровно столько процессорного времени, сколько надо чтоб не тормозило, и ни на йоту больше.
а Win7 — так ваще сказка. я ещё не разобрался, за счёт чего там всё так шустро работает, но эфект поразительный.

А теперь можете поплеваться в меня, линуксоидные маньяки :Р
(Reply) (Thread)
[User Picture]From: bigwolk
2009-08-18 06:46 am (UTC)

Re: ну под виндой есть решение.

Ну раз все шустро, тогда подскажите, плз, как отучить замечательную венду при копировании огромных файлов отращивать кэш до исчерпания оперативной памяти, а после исчерпания - начинать засовывать в своп запущенные приложения? Каждый раз плююсь - файл скопирован, работать с ним больше не надо, однако десктоп стоит колом, т.к. в памяти у нас не студии/браузеры/фотошопы/аутлуки, а 2 гигабайта ненужных данных скопированного файла.
(Reply) (Parent) (Thread) (Expand)
[User Picture]From: xsaper
2009-09-03 04:42 pm (UTC)

Он услышал тебя??? :)))

(Reply) (Thread)
[User Picture]From: arkanoid
2009-09-03 08:17 pm (UTC)

Re: Он услышал тебя??? :)))

Multicore processors?

This is where BFS shines.

а других скоро и не будет.. так что все это может быть очень хорошо даже для нетбуков, атом и т д..

Edited at 2009-09-03 08:18 pm (UTC)
(Reply) (Parent) (Thread) (Expand)