On Sat, Mar 31, 2012 at 4:20 PM, tahawk tahawk <[email protected]> wrote: > 2012/3/31 tahawk tahawk <[email protected]>: >> >> El 31/03/2012 10:46, "Camaleón" <[email protected]> escribió: >> >> >>> >>> El Fri, 30 Mar 2012 23:49:37 +0200, tahawk tahawk escribió: >>> >>> > 2012/3/30 Camaleón <[email protected]>: >>> >> El Fri, 30 Mar 2012 18:29:48 +0200, tahawk tahawk escribió: >>> >> >>> >>> Tengo un proceso el cual quiero impedir que me suba la frecuencia de >>> >>> la CPU sin que esto afecte a los demás procesos. >>> >> >>> >> ¿Lo has programado tú? Si es así seguramente sí puedas implementar >>> >> alguna función que te permita controlar esto. >>> >> >>> >>> 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. >>> >> >>> >> Bueno, eso lo debería hacer automáticamente "cpufreq-utils" con un >>> >> perfil "ondemand": >>> >> >>> >> http://www.mjmwired.net/kernel/Documentation/cpu-freq/governors.txt >>> >> >>> >>> Alguien si sabe si esto se puede hacer? >>> >> >>> >> Creo que intentas "hilar" demasiado fino :-) >>> >>> > No es un programa que haya hecho yo. Se trata de boinc. Se trata de que >>> > esté trabajando pero bajar la frecuencia para reducir el consumo. Igual >>> > si que es hilar muy fino pero es que me pensaba que sería algo más >>> > sencillo de hacer. >>> >>> Hay una aplicacioncilla que te permite limitar el consumo de CPU por >>> proceso (cpulimit) pero con micros modernos multi-hilo y multi-todo no sé >>> si te será de utilidad. De todas formas, BOINC debería integrar algún >>> sistema de autocontrol ¿no? :-? >>> >>> http://boinc.berkeley.edu/wiki/Preferences#Processor_usage >>> >> >> Por lo que he visto en las opciones sólo permite decirle que use un >> porcentaje determinado de la CPU pero yo lo que busco es que use el 100% >> pero sin incrementar la frecuencia. >> >>> > Creo que optaré por lo del script pero necesito alguna forma de obtener >>> > el porcentaje de cpu que está usando el proceso. Se os ocurre algo? >>> >>> Además de lo que te comenta Marc, esta información suele estar bajo "/ >>> proc/$PID/", por ejemplo: >>> >>> sm01@stt008:~$ cat /proc/`pidof firefox`/stat >>> 3774 (firefox) S 1 3295 3295 0 -1 4202496 590194 3475 19 0 19564 1806 2 3 >>> 20 0 23 0 172373 722755584 44489 18446744073709551615 4194304 4249308 >>> 140735253756480 18446744073709551615 139839786101718 0 0 536875008 17647 >>> 18446744073709551615 0 0 17 1 0 0 30 0 0 >>> >>> De ese "churro" se podrá sacar algo O:-), cuestión de leerse el manual: >>> >>> http://www.mjmwired.net/kernel/Documentation/filesystems/proc.txt >>> >>> Saludos, >>> >>> -- >>> Camaleón >>> > > He dado con la solución y es muy sencillo. Resulta que hay el > parámetro contenido en > /sys/devices/system/cpu/cpufreq/ondemand/ignore_nice_load que se > encarga precisamente de eso. El valor por defecto es 0 pero si lo > cambiamos a 1 lo que hacemos es que los procesos en los que hayamos > modificado la prioridad de ejecucion no tendrán derecho a subir la > frecuencia de la CPU. > > "ignore_nice_load - This parameter takes a value of '0' or '1'. When > set to '0' (its default), all processes are counted towards the 'cpu > utilization' value. When set to '1', the processes that are run with a > 'nice' value will not count (and thus be ignored) in the overall usage > calculation. This is useful if you are running a CPU intensive > calculation on your laptop that you do not care how long it takes to > complete as you can 'nice' it and prevent it from taking part in the > deciding process of whether to increase your CPU frequency. To turn > this on do the following." > > http://www.spinics.net/lists/cpufreq/msg02359.html > > Lo he probado y hace lo que necesito. Lo único que hay que hacer es: > > # echo 1 > /sys/devices/system/cpu/cpufreq/ondemand/ignore_nice_load > > Ahora solo me falta encontrar la forma de que tenga un 1 por defecto. >
muy interesante lo que cuentas, puedes poner esa linea en /etc/rc.local para que se ejecute cada vez que arrancas. -- Marc -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/ca+dcn_vj_ro5z1wuq8zq9u8agnwpaagqewhxfbxcn1nfokj...@mail.gmail.com

