[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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



Иван Лох 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) опасная штука с кучей заморочек.


Reply to: