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

Re: Impedir escalar frecuencia a un determinado proceso



On Fri, Mar 30, 2012 at 7:59 PM, tahawk tahawk <ttahawk@gmail.com> wrote:
> 2012/3/30, Marc Aymerich <glicerinu@gmail.com>:
>> On Fri, Mar 30, 2012 at 6:29 PM, tahawk tahawk <ttahawk@gmail.com> wrote:
>>> Hola lista,
>>>
>>> Tengo un proceso el cual quiero impedir que me suba la frecuencia de
>>> la CPU sin que esto afecte a los demás procesos. Es decir, aunque este
>>> proceso trabaje al máximo quiero que la CPU siga en la parte baja del
>>> escalado pero si otro proceso necesita CPU si que pueda subir la
>>> frecuencia, por lo que no me sirve poner el sistema en modo powesave.
>>> Alguien si sabe si esto se puede hacer?
>>>
>>
>> si, con cgroups
>>
>>
>> --
>> Marc
>>
> He revisado la documentación de cgroups pero no he visto nada
> relacionado con el escalado de frecuencia. No se si habrá algún tipo
> de permiso que quitándoselo al usuario en cuestión impida este
> escalado. No se si van por ahí los tiros.

mmm, escalado de frequencia no directamente pero si indirectamente
controlando la asignacion de cpu por proceso con cpu.shares

Que yo sepa no hay ninguna solución especifica para lo que quieres
hacer, lo que mas se parece es cgroups y aun así faltaria por ver si
realmente se puede conseguir ese efecto solo limitandolo con
cpu.shares ya que el valor que le pongas es relativo con lo que va a
depende de los otros grupos que crees.

Pero, aunque poco elegante, lo que siempre puedes hacer es un script
que compruebe periodicamente que procesos se estan ejecutando y si
solo se está ejecutando ese pues fuerza la frequencia a 'powersave'
con cpufreq-selector, en el momento que se detecte otros procesos que
te interesen pues vuelves a ponerlo en 'ondemand'.






-- 
Marc


Reply to: