Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

nice -n - только от рута?

5 views
Skip to first unread message

Mikhail Ramendik

unread,
Sep 10, 2011, 2:20:02 AM9/10/11
to
Всем привет!

Гуглил, но что-то не нагуглил. Я хочу запустить юзерский процесс с
nice -2 или -5 - это mplayer, ему надо весь процессор, а там всякие
iceweasel мешаются. Их просто забыли закрыть.

Есть ли способ это сделать, _кроме_ как renice `pidof mplayer` от
рута? Можно ли как-то дать данному юзеру нужную привилегию?

--
Yours, Mikhail Ramendik

Unless explicitly stated, all opinions in my mail are my own and do
not reflect the views of any organization

Ivan Shmakov

unread,
Sep 10, 2011, 2:50:01 AM9/10/11
to
>>>>> Mikhail Ramendik <m...@ramendik.ru> writes:

> Гуглил, но что-то не нагуглил. Я хочу запустить юзерский процесс с
> nice -2 или -5 - это mplayer, ему надо весь процессор, а там всякие
> iceweasel мешаются. Их просто забыли закрыть.

> Есть ли способ это сделать, _кроме_ как renice `pidof mplayer` от
> рута? Можно ли как-то дать данному юзеру нужную привилегию?

Мне помогает «обратное» решение: запускать iceweasel с nice > 0,
e. g.:

$ nice -n+7 iceweasel &

Долговременные задачи (вроде $ cd grass-dev/ && make) запускаю с
$ ionice -c 3 nice -n+19.

--
FSF associate member #7257 Coming soon: Software Freedom Day
http://mail.sf-day.org/lists/listinfo/ planning-ru (ru), sfd-discuss (en)


--
To UNSUBSCRIBE, email to debian-russ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
Archive: http://lists.debian.org/86d3f85...@gray.siamics.net

Mikhail Ramendik

unread,
Sep 10, 2011, 4:40:01 AM9/10/11
to
2011/9/10 -=Devil_InSide=- <devil_...@mail.ru>:

>> Есть ли способ это сделать, _кроме_ как renice `pidof mplayer` от
>> рута? Можно ли как-то дать данному юзеру нужную привилегию?

> man sudo ?

Спасибо, я в курсе.

-=Devil_InSide=-

unread,
Sep 10, 2011, 4:40:01 AM9/10/11
to
,-----[Mikhail Ramendik, 10 September 2011 10:15]:

> Всем привет!
>
> Гуглил, но что-то не нагуглил. Я хочу запустить юзерский процесс с
> nice -2 или -5 - это mplayer, ему надо весь процессор, а там всякие
> iceweasel мешаются. Их просто забыли закрыть.
>
> Есть ли способ это сделать, _кроме_ как renice `pidof mplayer` от
> рута? Можно ли как-то дать данному юзеру нужную привилегию?
>

man sudo ?
--
__________
mpd status: [paused]
Sirenia - Voices_Within
**************************************
* jabber: devil_...@jabber.ru *
* Registered linux user #450844 *
**************************************



--
To UNSUBSCRIBE, email to debian-russ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
Archive: http://lists.debian.org/j4f75r$h7j$1...@dough.gmane.org

Иван Лох

unread,
Sep 10, 2011, 7:40:02 AM9/10/11
to
On Sat, Sep 10, 2011 at 07:15:00AM +0100, Mikhail Ramendik wrote:
> О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫!
>
> О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫ О©╫О©╫О©╫-О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫. О©╫ О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫
> nice -2 О©╫О©╫О©╫ -5 - О©╫О©╫О©╫ mplayer, О©╫О©╫О©╫ О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫
> iceweasel О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫. О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫.
>
> О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫, _О©╫О©╫О©╫О©╫О©╫_ О©╫О©╫О©╫ renice `pidof mplayer` О©╫О©╫
> О©╫О©╫О©╫О©╫? О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫-О©╫О©╫ О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫?
>
mplayer О©╫О©╫ О©╫О©╫О©╫О©╫ nice О©╫О©╫О©╫ О©╫О©╫О©╫О©╫ SCHED_RR

man schedtool


--
To UNSUBSCRIBE, email to debian-russ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org

Archive: http://lists.debian.org/20110910113...@nano.ioffe.rssi.ru

Yuriy Kaminskiy

unread,
Sep 10, 2011, 10:20:02 AM9/10/11
to
Иван Лох wrote:
> On Sat, Sep 10, 2011 at 07:15:00AM +0100, Mikhail Ramendik wrote:
>> Всем привет!
>>
>> Гуглил, но что-то не нагуглил. Я хочу запустить юзерский процесс с
>> nice -2 или -5 - это mplayer, ему надо весь процессор, а там всякие
>> iceweasel мешаются. Их просто забыли закрыть.
>>
>> Есть ли способ это сделать, _кроме_ как renice `pidof mplayer` от
>> рута? Можно ли как-то дать данному юзеру нужную привилегию?
>>
> mplayer не надо nice ему надо SCHED_RR
>
> man schedtool

Ставить real-time scheduler для программы которая не была специально под такое
рассчитана — хороший способ выстрелить себе в ногу.


--
To UNSUBSCRIBE, email to debian-russ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org

Archive: http://lists.debian.org/j4fr5m$35q$1...@dough.gmane.org

Иван Лох

unread,
Sep 10, 2011, 5:00:02 PM9/10/11
to
On Sat, Sep 10, 2011 at 06:11:02PM +0400, Yuriy Kaminskiy wrote:
> > mplayer не надо nice ему надо SCHED_RR
> >
> > man schedtool
>
> Ставить real-time scheduler для программы которая не была специально под такое
> рассчитана — хороший способ выстрелить себе в ногу.

mplayer довольно часто так запускают. Наверное, чаще чем другие приложение
(кроме, может быть, cdrecord). Это же мягкий реал-тайм. И потом, можно подумать,
что задранный приоритет для ресурсоемких программ -- хорошая идея.


--
To UNSUBSCRIBE, email to debian-russ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
Archive: http://lists.debian.org/20110910205...@nano.ioffe.rssi.ru

Mikhail Ramendik

unread,
Sep 10, 2011, 5:20:03 PM9/10/11
to
2011/9/10 Иван Лох <l...@1917.com>:

>> > mplayer не надо nice ему надо SCHED_RR
>> >
>> > man schedtool
>>
>> Ставить real-time scheduler для программы которая не была специально под такое

>> рассчитана -- хороший способ выстрелить себе в ногу.


>
> mplayer довольно часто так запускают. Наверное, чаще чем другие приложение
> (кроме, может быть, cdrecord). Это же мягкий реал-тайм.

Хорошо, попробуем. А это точно выдавит забытый в фоне какой-нибудь
flashplugin-nonfree etc?

В man schedtool не понял одну вещь - как считается priority. Какой
процес получит больше времени - с priority 10 или 30?

И ещё - передаётся ли это процессам-детям? То есть сработает ли такой
вариант: (это без наворотов для безопасности)

sudo schedtool -R -p 20 $$
mplayer ....

А то сам mplayer я точно не буду от рута пускать.

Иван Лох

unread,
Sep 10, 2011, 6:10:02 PM9/10/11
to
On Sat, Sep 10, 2011 at 10:09:47PM +0100, Mikhail Ramendik wrote:
> >> Ставить real-time scheduler для программы которая не была специально под такое
> >> рассчитана -- хороший способ выстрелить себе в ногу.
> >
> > mplayer довольно часто так запускают. Наверное, чаще чем другие приложение
> > (кроме, может быть, cdrecord). Это же мягкий реал-тайм.
>
> Хорошо, попробуем. А это точно выдавит забытый в фоне какой-нибудь
> flashplugin-nonfree etc?

Гарантированно ограничит.

> В man schedtool не понял одну вещь - как считается priority. Какой
> процес получит больше времени - с priority 10 или 30?

Real-time priorities range inclusively from one to MAX_RT_PRIO minus one. By default, MAX_RT_PRIO is 100—therefore, the
default real-time priority range is one to 99. This priority space is shared with the nice values of SCHED_OTHER tasks;
they use the space from MAX_RT_PRIO to (MAX_RT_PRIO + 40). By default, this means the –20 to +19 nice range maps
directly onto the 100 to 140 priority range.

>
> И ещё - передаётся ли это процессам-детям? То есть сработает ли такой
> вариант: (это без наворотов для безопасности)
>
> sudo schedtool -R -p 20 $$
> mplayer ....
>
> А то сам mplayer я точно не буду от рута пускать.

Можно например так:

nohup mplayer&
sudo schedtool -R -p 20 $!


--
To UNSUBSCRIBE, email to debian-russ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org

Archive: http://lists.debian.org/20110910220...@nano.ioffe.rssi.ru

Mikhail Ramendik

unread,
Sep 10, 2011, 6:40:02 PM9/10/11
to
2011/9/10 Иван Лох <l...@1917.com>:

>> И ещё - передаётся ли это процессам-детям? То есть сработает ли такой
>> вариант: (это без наворотов для безопасности)
>>
>> sudo schedtool -R -p 20 $$
>> mplayer ....
>>
>> А то сам mplayer я точно не буду от рута пускать.
>
> Можно например так:
>
> nohup mplayer&
> sudo schedtool -R -p 20 $!

Мея не устраивает nohup mplayer& , поскольку мне нужно окно терминала
с mplayer. Дело в том, что вывод видео производится на другой X
display, и единственный способ переключить фокус на mplayer, чтобы
подавать ему команды с клавиатуры - это как раз окно терминала.
Поэтому в реальном скрипте, запускаемом из gnome-commander etc, у меня
вообще rxvt -e mplayer ...

Правда, приходит в голову другой вариант:

rxvt -e mplayer-rt ...

и в /usr/local/bin/mplayer-rt:

sudo schedtool -R -p 20 $$

exec mplayer $*

Так пойдёт? Вроде бы mplayer получает тот же pid - значит и SCHED_RR сохранится?

Иван Лох

unread,
Sep 10, 2011, 7:40:02 PM9/10/11
to
On Sat, Sep 10, 2011 at 11:35:08PM +0100, Mikhail Ramendik wrote:
>
> Мея не устраивает nohup mplayer& , поскольку мне нужно окно терминала
> с mplayer. Дело в том, что вывод видео производится на другой X
> display, и единственный способ переключить фокус на mplayer, чтобы
^^^^^^^^^^^^
Здесь не бывает единственного способа

wmctrl -a MPlayer


--
To UNSUBSCRIBE, email to debian-russ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
Archive: http://lists.debian.org/20110910233...@nano.ioffe.rssi.ru

Mikhail Ramendik

unread,
Sep 10, 2011, 7:40:02 PM9/10/11
to
2011/9/11 Иван Лох <l...@1917.com>:

> On Sat, Sep 10, 2011 at 11:35:08PM +0100, Mikhail Ramendik wrote:
>>
>> Мея не устраивает nohup mplayer& , поскольку мне нужно окно терминала
>> с mplayer. Дело в том, что вывод видео производится на другой X
>> display, и единственный способ переключить фокус на mplayer, чтобы
>             ^^^^^^^^^^^^
> Здесь не бывает единственного способа
>
> wmctrl -a MPlayer

Ладно, поймали :) в линухе вообще редко бывает единственный способ.

Но с терминалом всё же удобнее, с учётом того, что фильмы обычно
смотрю не я, а семейство, которое существенно менее "компьютерно
продвинуто". И "переключи на это окно" - просто легче, чем что-либо
другое.

И так уже приходится пользоваться клавиатурным управлением, а не более
удобным GUI, потому что вариант "GU на screen 0, видео на screen 1" не
предусмотрен, а мыши на screen 1 нарочно нет.

Иван Лох

unread,
Sep 10, 2011, 8:10:01 PM9/10/11
to
On Sun, Sep 11, 2011 at 12:38:15AM +0100, Mikhail Ramendik wrote:
>
> И так уже приходится пользоваться клавиатурным управлением, а не более
> удобным GUI, потому что вариант "GU на screen 0, видео на screen 1" не
> предусмотрен, а мыши на screen 1 нарочно нет.

Кем не предусмотрен? GUI из mplayer -gui совершенно нормальное окно и без
проблем двигается между screens независимо от окна с фильмом.


--
To UNSUBSCRIBE, email to debian-russ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
Archive: http://lists.debian.org/20110911000...@nano.ioffe.rssi.ru

Mikhail Ramendik

unread,
Sep 10, 2011, 9:10:02 PM9/10/11
to
2011/9/11 Иван Лох <l...@1917.com>:

> On Sun, Sep 11, 2011 at 12:38:15AM +0100, Mikhail Ramendik wrote:
>>
>> И так уже приходится пользоваться клавиатурным управлением, а не более
>> удобным GUI, потому что вариант "GU на screen 0, видео на screen 1" не
>> предусмотрен, а мыши на screen 1 нарочно нет.
>
> Кем не предусмотрен? GUI из mplayer -gui совершенно нормальное окно и без
> проблем двигается между screens независимо от окна с фильмом.

Окна между screens у меня не движутся, как минимум известными мне
способами. mplayer попадает на screen 1 посредством опции -display.

Сделано это всё нарочно - когда кино не смотрят, монитор на screen 1
обычно выключен, и нужно, чтобы это выключение никак не мешало
работать. Значит, туда не должна уезжать мышь и, без прямого указания,
там не должны открываться окна.

Или можно как-то сделать, чтобы основной вывод mplayer был на screen
1, а окно mplayer GUI - на screen 0? Это было бы желательно, конечно.

Иван Лох

unread,
Sep 10, 2011, 9:50:02 PM9/10/11
to
On Sun, Sep 11, 2011 at 02:02:26AM +0100, Mikhail Ramendik wrote:
> 2011/9/11 Иван Лох <l...@1917.com>:

>
> Или можно как-то сделать, чтобы основной вывод mplayer был на screen
> 1, а окно mplayer GUI - на screen 0? Это было бы желательно, конечно.

Можно. Любой нормальный WM имеет встроенные средства, позволяющие
связать окно и workspace

Как паллиатив может работать и
wmctrl -r "MPlayer-Video" -t 0


--
To UNSUBSCRIBE, email to debian-russ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org

Archive: http://lists.debian.org/20110911014...@nano.ioffe.rssi.ru

Yuriy Kaminskiy

unread,
Sep 11, 2011, 12:00:02 AM9/11/11
to
Иван Лох wrote:
> On Sat, Sep 10, 2011 at 10:09:47PM +0100, Mikhail Ramendik wrote:
>>>> Ставить real-time scheduler для программы которая не была специально под такое
>>>> рассчитана -- хороший способ выстрелить себе в ногу.
>>> mplayer довольно часто так запускают. Наверное, чаще чем другие приложение
>>> (кроме, может быть, cdrecord). Это же мягкий реал-тайм.

Это "мягкий реал-тайм" с точки зрения требования по управлению шаттлом. И совсем
не мягкий с точки зрения других приложений и системы. Если real-time процесс
задумается внутри себя, все остальные не получат ни-че-го.

К примеру, что получится, когда mplayer начнёт драться с xserver? Ага, оно
самое. А если mplayer начнёт при этом дропать фреймы, и жрать чуть побольше CPU?

Не, если приложение не разрабатывалось с учётом требований real-time, и не
верифицированно, не проверенно на наличие всяческих deadlock и races, причём во
взаимодейтвии со всеми критичными для системы процессами (xserver&etc), ставить
его на real-time себе дороже.

>> Хорошо, попробуем. А это точно выдавит забытый в фоне какой-нибудь
>> flashplugin-nonfree etc?
>
> Гарантированно ограничит.

По выделению квантов CPU - да. И не только flashplugin-nonfree не пустит, но и
wm, xserver,...
А вот по диску/свопу/whatever - нет :-)

>> В man schedtool не понял одну вещь - как считается priority. Какой
>> процес получит больше времени - с priority 10 или 30?
>
> Real-time priorities range inclusively from one to MAX_RT_PRIO minus one. By default, MAX_RT_PRIO is 100—therefore, the
> default real-time priority range is one to 99. This priority space is shared with the nice values of SCHED_OTHER tasks;
> they use the space from MAX_RT_PRIO to (MAX_RT_PRIO + 40). By default, this means the –20 to +19 nice range maps
> directly onto the 100 to 140 priority range.
>
>> И ещё - передаётся ли это процессам-детям? То есть сработает ли такой
>> вариант: (это без наворотов для безопасности)
>>
>> sudo schedtool -R -p 20 $$
>> mplayer ....
>>
>> А то сам mplayer я точно не буду от рута пускать.
>
> Можно например так:
>
> nohup mplayer&
> sudo schedtool -R -p 20 $!

Race condition. За это время mplayer вполне может успеть отфоркать себе кэш или
наплодить нитей.
Вот потому-то написанное обычными программерами до real-time допускать нельзя :-)


--
To UNSUBSCRIBE, email to debian-russ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org

Archive: http://lists.debian.org/j4hbic$8t0$1...@dough.gmane.org

Ivan Shmakov

unread,
Sep 11, 2011, 12:50:01 AM9/11/11
to
>>>>> Yuriy Kaminskiy <yum...@mail.ru> writes:

>>>>> Ставить real-time scheduler для программы которая не была
>>>>> специально под такое рассчитана -- хороший способ выстрелить себе
>>>>> в ногу.

>>>> mplayer довольно часто так запускают. Наверное, чаще чем другие
>>>> приложение (кроме, может быть, cdrecord). Это же мягкий реал-тайм.

> Это "мягкий реал-тайм" с точки зрения требования по управлению
> шаттлом. И совсем не мягкий с точки зрения других приложений и
> системы. Если real-time процесс задумается внутри себя, все
> остальные не получат ни-че-го.

К слову, я на эти «грабли» как-то раз наступил, лет десять
назад. С тех пор с RT-процессами не связывался; и даже когда
postinst мне предлагал X-сервер таковым сделать — без раздумий
отказывался.

[…]

--
FSF associate member #7257 Coming soon: Software Freedom Day
http://mail.sf-day.org/lists/listinfo/ planning-ru (ru), sfd-discuss (en)

--
To UNSUBSCRIBE, email to debian-russ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org

Archive: http://lists.debian.org/86bour3...@gray.siamics.net

Mikhail Ramendik

unread,
Sep 11, 2011, 7:30:01 AM9/11/11
to
2011/9/11 Ivan Shmakov <iv...@gray.siamics.net>:

> К слову, я на эти <<грабли>> как-то раз наступил, лет десять
> назад. С тех пор с RT-процессами не связывался; и даже когда

> postinst мне предлагал X-сервер таковым сделать -- без раздумий
> отказывался.

У меня появилась совсем другая идея. Реализуется сложнее, зато не
требует привилегий рута.

Мне ведь не нужен реалтам. Мне нужно, чтобы другие мои же приложения
не мешали mplayer. Но когда mplayer нет - работали нормально.

Так вот - перед стартом mplayer взять все PID нынешнего юзера, кроме
данного процесса, и сделать им renice 10. А после завершения mplayer -
обратно.

Достоинства:

- Не надо рута
- Не мешаем X серверу (на этой машине он от рута)
- Можно обходиться с разными процессами по-разному. Например, не
трогать window manager или pidgin, если он может понадобиться и при
этом не ест процессор. А злобному flashplugin-nonfree выдать
SCHED_BATCH.

Недостатки:

- При аварийном завершении скрипта система останется в странном состоянии
- Не влияет на процессы, запущенные уже после запуска mplayer (правда,
если всё-таки тронуть window manager - тогда как я понимаю влияет, они
обычно его дети? Панель для запуска программ является частью icewm)
- Если что-то юзерское шло в виде nice или SCHED_BATCH до запуска
mplayer - оно окажется обычным процессом после завершения

Можно ли как-то обойти эти грабли и есть ли тут другие, которых я не заметил?

--

Иван Лох

unread,
Sep 11, 2011, 7:30:01 AM9/11/11
to
On Sun, Sep 11, 2011 at 07:56:59AM +0400, Yuriy Kaminskiy wrote:
> О©╫О©╫О©╫О©╫ О©╫О©╫О©╫ wrote:
> > On Sat, Sep 10, 2011 at 10:09:47PM +0100, Mikhail Ramendik wrote:
> >>>> О©╫О©╫О©╫О©╫О©╫О©╫О©╫ real-time scheduler О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫
> >>>> О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ -- О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫.
> >>> mplayer О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫. О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫
> >>> (О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫, cdrecord). О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫-О©╫О©╫О©╫О©╫.
>
> О©╫О©╫О©╫ "О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫-О©╫О©╫О©╫О©╫" О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫. О©╫ О©╫О©╫О©╫О©╫О©╫О©╫
> О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫. О©╫О©╫О©╫О©╫ real-time О©╫О©╫О©╫О©╫О©╫О©╫О©╫
> О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫, О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫-О©╫О©╫-О©╫О©╫.

О©╫О©╫О©╫О©╫ SCHED_FIFO О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫. О©╫ О©╫ Round-Robin О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫
timeslice О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫.

SCHED_RR Round-Robin Scheduler, also used for real-time
constraints. CPU-time is assigned in an round-robin fashion
with a much smaller timeslice than with SCHED_NORMAL and
processes in this group are favoured over SCHED_NORMAL. Usable
for audio/video applications near peak rate of the system.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ROOT-credentials required.

> > О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫.
>
> О©╫ О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫/О©╫О©╫О©╫О©╫О©╫/whatever - О©╫О©╫О©╫ :-)

ionice? О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫.


--
To UNSUBSCRIBE, email to debian-russ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org

Archive: http://lists.debian.org/20110911112...@nano.ioffe.rssi.ru

Yuriy Kaminskiy

unread,
Sep 11, 2011, 9:30:02 AM9/11/11
to
Иван Лох wrote:
> On Sun, Sep 11, 2011 at 07:56:59AM +0400, Yuriy Kaminskiy wrote:
>> Иван Лох wrote:
>>> On Sat, Sep 10, 2011 at 10:09:47PM +0100, Mikhail Ramendik wrote:
>>>>>> Ставить real-time scheduler для программы которая не была специально под такое
>>>>>> рассчитана -- хороший способ выстрелить себе в ногу.
>>>>> mplayer довольно часто так запускают. Наверное, чаще чем другие приложение
>>>>> (кроме, может быть, cdrecord). Это же мягкий реал-тайм.
>> Это "мягкий реал-тайм" с точки зрения требования по управлению шаттлом. И совсем
>> не мягкий с точки зрения других приложений и системы. Если real-time процесс
>> задумается внутри себя, все остальные не получат ни-че-го.
>
> Если SCHED_FIFO возможно и не получат. А с Round-Robin будет следующий
> timeslice и все дела.
>
> SCHED_RR Round-Robin Scheduler, also used for real-time
> constraints. CPU-time is assigned in an round-robin fashion
> with a much smaller timeslice than with SCHED_NORMAL and
> processes in this group are favoured over SCHED_NORMAL. Usable
> for audio/video applications near peak rate of the system.
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> ROOT-credentials required.

По окончании timeslice он отдаст место ...для других процессов *с SCHED_RR/FIFO*
с тем же priority. Но *не отдаст* место для других процессов с SCHED_OTHER (они
все *менее* приоритетные; FIFO/RR - static priority 1..99, OTHER/BATCH/IDLE -
static priority 0).
Отличие с SCHED_FIFO, что он *хоть кому-то* (недобровольно) отдаёт, SCHED_FIFO
(недобровольно) отдаёт только более приоритетным.

>>> Гарантированно ограничит.
>> А вот по диску/свопу/whatever - нет :-)
>
> ionice? Типа другая подсистема.

while :; do echo $RANDOM >foo; sync;done
В общем, RT a) не панацея; b) опасная штука с кучей заморочек.


--
To UNSUBSCRIBE, email to debian-russ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
Archive: http://lists.debian.org/j4id0k$nvt$1...@dough.gmane.org

Ivan Shmakov

unread,
Sep 11, 2011, 11:50:01 AM9/11/11
to
>>>>> Mikhail Ramendik <m...@ramendik.ru> writes:
>>>>> 2011/9/11 Ivan Shmakov <iv...@gray.siamics.net>:

>> К слову, я на эти <<грабли>> как-то раз наступил, лет десять
>> назад. С тех пор с RT-процессами не связывался; и даже когда
>> postinst мне предлагал X-сервер таковым сделать -- без раздумий
>> отказывался.

> У меня появилась совсем другая идея. Реализуется сложнее, зато не
> требует привилегий рута.

> Мне ведь не нужен реалтам. Мне нужно, чтобы другие мои же приложения
> не мешали mplayer. Но когда mplayer нет - работали нормально.

> Так вот - перед стартом mplayer взять все PID нынешнего юзера, кроме
> данного процесса, и сделать им renice 10. А после завершения mplayer
> - обратно.

> Достоинства:

> - Не надо рута

Надо — для «обратно.»

> - Не мешаем X серверу (на этой машине он от рута)

Разве он не всегда от него?

> - Можно обходиться с разными процессами по-разному. Например, не
> трогать window manager или pidgin, если он может понадобиться и при
> этом не ест процессор. А злобному flashplugin-nonfree выдать
> SCHED_BATCH.

Что мешает выставить нужные nice процессам изначально? Пока нет
конкуренции за ресурсы — активно используется только одна
программа — оная получает весь IO и CPU. Как только
претендентов больше одного — те, что с большим nice, получают
меньший slice.

Повторюсь, мне помогает. (Но у меня flashplugin не водится
по-определению.)

[…]

--
FSF associate member #7257 Coming soon: Software Freedom Day
http://mail.sf-day.org/lists/listinfo/ planning-ru (ru), sfd-discuss (en)


--
To UNSUBSCRIBE, email to debian-russ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
Archive: http://lists.debian.org/86litv1...@gray.siamics.net

Mikhail Ramendik

unread,
Sep 11, 2011, 10:10:02 PM9/11/11
to
2011/9/11 Иван Лох <l...@1917.com>:

> On Sun, Sep 11, 2011 at 02:02:26AM +0100, Mikhail Ramendik wrote:
>> 2011/9/11 Иван Лох <l...@1917.com>:
>>
>> Или можно как-то сделать, чтобы основной вывод mplayer был на screen
>> 1, а окно mplayer GUI - на screen 0? Это было бы желательно, конечно.
>
> Можно. Любой нормальный WM имеет встроенные средства, позволяющие
> связать окно и workspace

К сожалению, в icewm не обнаружились средства, позволяющие связать
workspace и screen. Поэтому про screen 1 он вообще не знает.

Да, я знаю, что с icewm пора уходить. Мне очень нравится лёгкость,
способ конфигурации и набор фич (вроде встроенной очень простой
панели, индикаторов процессора и сетевого трафика). Но в нём есть
целый ряд проблем, нет функция для >1 screens и есть глюки в этой
области. Марк на проект вероятно забил (последняя версия - апрель
2010), а форк делать вроде бы ни у кого нет желания.

Сейчас мне просто некогда строить с нуля конфигурацию на чём-то другом
(fvwm2? openbox/lxde? xfce? ничего тяжелее xfce на этой машине не
будет однозначно). Будет время - будем менять WM.

> Как паллиатив может работать и
> wmctrl -r "MPlayer-Video" -t 0

Мне вообще не удалось заставить mplayer gui появиться на дисплее :0.1.
При наличии -gui он игнорирует -display. При запуске DISPLAY=:0.1
mplayer -gui file.avi - файл играется, а GUI просто нет, и
предложенная Вами команда ничего не меняет.

Да, это кривизна WM. Вот какой WM из лёгких точно правильно отработает
второй дисплей, на который при этом даже мышь не попадает?

Иван Лох

unread,
Sep 11, 2011, 10:20:02 PM9/11/11
to
On Mon, Sep 12, 2011 at 03:02:51AM +0100, Mikhail Ramendik wrote:
>
> Мне вообще не удалось заставить mplayer gui появиться на дисплее :0.1.
> При наличии -gui он игнорирует -display. При запуске DISPLAY=:0.1
> mplayer -gui file.avi - файл играется, а GUI просто нет, и
> предложенная Вами команда ничего не меняет.

А, что wmctrl -l и wmctrl -d и wmctrl -m говорят в этом случае?




--
To UNSUBSCRIBE, email to debian-russ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
Archive: http://lists.debian.org/20110912021...@nano.ioffe.rssi.ru

Mikhail Ramendik

unread,
Sep 11, 2011, 10:30:02 PM9/11/11
to
2011/9/12 Иван Лох <l...@1917.com>:

> On Mon, Sep 12, 2011 at 03:02:51AM +0100, Mikhail Ramendik wrote:
>>
>> Мне вообще не удалось заставить mplayer gui появиться на дисплее :0.1.
>> При наличии -gui он игнорирует -display. При запуске DISPLAY=:0.1
>> mplayer -gui file.avi - файл играется, а GUI просто нет, и
>> предложенная Вами команда ничего не меняет.
>
> А, что wmctrl -l и wmctrl -d и  wmctrl -m говорят в этом случае?


Перепроверил ещё раз с установкой переменной DISPLAY - ситуация
изменилась. (С прошлой проверки увеличилость разрешение дисплея 1. Это
я видеодрайвер настраивал)

Окно GUI появляется и гордо красуется на дисплее 1.

wmctrl -r "MPlayer-Video" -t 0 результат: ничего не меняется

$ wmctrl -l
0x01400004 0 ramendik Terminal - irisha@ramendik: ~/source/mersenne
0x014003fa 0 ramendik Terminal - irisha@ramendik: ~
0x0140180d 0 ramendik Terminal - irisha@ramendik: ~
0x01600078 0 ramendik Ramendik.ru Mail - nice -n - только от рута? -
m...@ramendik.ru - Iceweasel
0x014019f4 0 ramendik Terminal - irisha@ramendik: ~

$ wmctrl -d
0 * DG: N/A VP: N/A WA: 0,0 1280x998 1

$ wmctrl -m
Name: IceWM 1.3.7pre2 (Linux 2.6.32-bpo.5-686/i686)
Class: N/A
PID: 2309
Window manager's "showing the desktop" mode: N/A

Иван Лох

unread,
Sep 12, 2011, 6:40:01 AM9/12/11
to
On Mon, Sep 12, 2011 at 03:23:06AM +0100, Mikhail Ramendik wrote:
> 2011/9/12 Иван Лох <l...@1917.com>:
> Окно GUI появляется и гордо красуется на дисплее 1.
>
> wmctrl -r "MPlayer-Video" -t 0 результат: ничего не меняется
>
> $ wmctrl -l
> 0x01400004 0 ramendik Terminal - irisha@ramendik: ~/source/mersenne
> 0x014003fa 0 ramendik Terminal - irisha@ramendik: ~
> 0x0140180d 0 ramendik Terminal - irisha@ramendik: ~
> 0x01600078 0 ramendik Ramendik.ru Mail - nice -n - только от рута? -
> m...@ramendik.ru - Iceweasel
> 0x014019f4 0 ramendik Terminal - irisha@ramendik: ~

Хм... А, что mplayer не запущен?

wmctrl -lG
Должен его показать.

Так должно работать

wmctrl -r "MPlayer - Video" -e 0,0,-1,-1,-1


--
To UNSUBSCRIBE, email to debian-russ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
Archive: http://lists.debian.org/2011091210...@nano.ioffe.rssi.ru
0 new messages