viernes, 27 de marzo de 2015

¿Cómo destrabo la frecuencia de mi CPU en Ubuntu Mate?

Indudablemente que la concreción de obras depende no sólo de las ideas y de las ganas (esas las tienen muchos). Dependen más que nada de la capacidad de hacer. Y nuestra Doctrina es la que por sobre otras, se ha demostrado hacedera en la Argentina.

Nuestro país dispone de inusitadas capacidades creadoras que desde el punto industrial, que sólo necesita ser impulsada desde el Estado. Nosotros teníamos una fábrica que producía aviones que estaban a la vanguardia, pero absorbida su capacidad por el país, se pudo adaptar a hacer vehículos, y de los más modernos.

Uno de los métodos novedosos que se implementó fue la adopción de los plásticos, en políester reforzado como novísima técnica para la concreción del carrozado. Este material, liviano, luego se mejoró y extendió a toda la industria del automóvil, pero fuimos nosotros de los primeros en hacerla práctica en un auto de sello netamente Peronista: el Justicialista Super Sport Coupé.

Naturalmente, esta cupé de antología fue usinada en Córdoba, y se impulsaba por un motor Porsche, conjunto de 4 cilindros lineales con litro y medio de cilindrada. Ese motor lo hace tirar excepcionalmente bien, por estar dotado de una caja de cuatro marchas, también Porsche. El andar suave que le permite dicho tren de potencia es una característica que hemos de copiar en un sistema operativo GNU con Linux.

Vean señores, hemos de saber que las CPUs relativamente modernas disponen ya de una rutina de escalonamiento adaptable para su velocidad de funcionamiento, lo cual permiten cambiar al vuelo la frecuencia del mismo.

Esta aparente nimiedad técnica tiene muy positivas consecuencias en la práctica, pues significa que nuestro Linux tomará ventaja de dicha característica para  operar a la CPU de la manera más lenta posible para la tarea que se dé actualmente. Si el proceso de funcionamiento de un programa requiriese mayor potencia de cómputo, automáticamente nuestro sistema GNU con Linux avanzará la velocidad de la CPU, como si del cambio de marchas de un motor se tratase.

Este encuadramiento presenta una gran serie de ventajas. En primer lugar, seremos testigos de un considerable ahorro energético, pues el sistema operará de forma más eficiente para cada esfuerzo exigido. Este ahorro también se verá en cuanto a la temperatura del sistema, pues sólo se activarán las velocidades mayores en caso de ser necesario, y el sistema funcionará más frío. Ello a su ver exigirá menos al sistema de refrigeración (el ventilador de velocidad adaptable que refrigera al microprocesador), y ello lo tornará más silencioso.

Normalmente, nuestro sistema Ubuntu activa esta útil funcionalidad de escalamiento de frecuencia de nuestra CPU de manera automática, si la misma dispone de ella. El usuario en taanto, puede decidir operarlo de una manera sumamente sencilla, por lo cual ya he explicado cómo operarlo agregando una miniaplicación al panel superior de GNOME / Mate, el Indicador de Frecuencia de la CPU.

Sin embargo, podríamos enfrentar algún problema. ¿Qué sucede si la miniaplicación de frecuencia de la CPU no responde como es debido? Vean señores, han de saber que en Ubuntu Mate, mi microprocesador i7 no podía cambiar automáticamente las frecuencias, y quedaba "trabado" en la mayor frecuencia de trabajo posible para la CPU. Esto redundaba en un mayor consumo eléctrico del sistema, pues siempre operaba en sus frecuencias mayores.

Para saber si sufrimos dicho inconveniente, podremos utilizar la Terminal. Para ello abrimos una con Ctrl+Alt+T e ingresamos el siguiente Comando de Organización:

cpufreq-info


...el sistema nos devolverá un detalle de trabajo de todos los núcleos presentes en nuestra CPU. Por ejemplo, en el caso del Intel i7 contaremos con 8 núcleos (nomenclados desde cpu0 hasta cpu7). Por lo tanto, la devolción seguirá este ejemplo:

cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 10.0 us.
  hardware limits: 1.20 GHz - 2.93 GHz
  available frequency steps: 2.93 GHz, 2.93 GHz, 2.80 GHz, 2.67 GHz, 2.53 GHz, 2.40 GHz, 2.27 GHz, 2.13 GHz, 2.00 GHz, 1.87 GHz, 1.73 GHz, 1.60 GHz, 1.47 GHz, 1.33 GHz, 1.20 GHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance
  current policy: frequency should be within 2.93 GHz and 2.93 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency is 2.93 GHz.
  

cpufreq stats: 2.93 GHz:99,64%, 2.93 GHz:0,00%, 2.80 GHz:0,00%, 2.67 GHz:0,00%, 2.53 GHz:0,00%, 2.40 GHz:0,00%, 2.27 GHz:0,00%, 2.13 GHz:0,00%, 2.00 GHz:0,00%, 1.87 GHz:0,00%, 1.73 GHz:0,00%, 1.60 GHz:0,00%, 1.47 GHz:0,00%, 1.33 GHz:0,00%, 1.20 GHz:0,36%  (5)


Este mensaje nos permitirá analizar si contamos con dicho problema, y también dilucidar su causa. Hemos de saber que la Política Actual del sistema de frecuencia automática - como se indica en rojo en el idioma de Braden - es la de optar "bajo demanda" entre 2.93Ghz y 2.93Ghz de frecuencia de procesador, lo cual obviamente solo permitirá al sistema escoger dicha velocidad. Esto es lo que provoca que permanezca "trabado" en su velocidad máxima.

El problema se debe a un defecto reportado en programa cpufreqd, el cual es el medidor dinámico de frecuencia de la CPU orgánico del escritorio MATE. Para destrabar las frecuencias, simplemente debemos proceder a remover dicho módulo díscolo, utilizando en la Consola el comando:

sudo apt-get remove cpufreqd

...luego reiniciaremos el equipo con:

sudo reboot

A la vuelta, la sistema utilizará el monitor de frecuencia estándar para la CPU, un programa Linux más probado que debería funcionar bien. Para asegurarnos, volvemos a utilizar en la terminal el comando cpufreq-info, en el cual la información devuelta debería ser diferente. Debería reportarnos algo como:

analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 7
  CPUs which need to have their frequency coordinated by software: 7
  maximum transition latency: 10.0 us.
  hardware limits: 1.20 GHz - 2.93 GHz
  available frequency steps: 2.93 GHz, 2.93 GHz, 2.80 GHz, 2.67 GHz, 2.53 GHz, 2.40 GHz, 2.27 GHz, 2.13 GHz, 2.00 GHz, 1.87 GHz, 1.73 GHz, 1.60 GHz, 1.47 GHz, 1.33 GHz, 1.20 GHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance
  current policy: frequency should be within 1.20 GHz and 2.93 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 1.20 GHz.

  cpufreq stats: 2.93 GHz:2,40%, 2.93 GHz:0,00%, 2.80 GHz:0,07%, 2.67 GHz:0,03%, 2.53 GHz:0,14%, 2.40 GHz:0,06%, 2.27 GHz:0,08%, 2.13 GHz:0,09%, 2.00 GHz:0,11%, 1.87 GHz:0,14%, 1.73 GHz:0,13%, 1.60 GHz:0,09%, 1.47 GHz:0,20%, 1.33 GHz:0,17%, 1.20 GHz:96,29%  (3615)



Con esto ya el problema estará solucionado, y deberíamos notar un equipo menos exigido y más frío. Si la opción "Smart Fan" está activada en la BIOS de nuestro equipo, normalmente notaremos que el ventilador disipador necesitará girar a menos velocidad, con lo cual el sistema podría ser algo más silencioso también.

La herramienta también nos da detalles útiles. Por ejemplo, al ingresar el comando

cpufreq-info | grep stats

...nos detallará - bajo el apartado cpufreq stats - qué porcentaje de tiempo el sistema utiliza cada marcha de la CPU. Si todo va bien, en un uso normal del equipo deberíamos notar una amplia mayoría en las marchar más bajas (en este caso, la marcha menor del microprocesador es de 1,20Ghz).

Recordemos que la miniaplicación de frecuencia adosable al panel superior dispone también de diferentes "perfiles de uso" para alterar la manera en la cual el sistema cambia de marchas. La opción que recomiendo normalmente es "Ondemand" ("bajo demanda"), en la cual el sistema usará las marchas de forma normal, pasando de niveles rápidamente. Usando la opción "Powersave" el sistema raramente pasará a las marchas altas, con lo cual lograremos un ahorro energético que puede ser útil en equipos portátiles funcionando bajo batería en tareas de pocos recursos. El perfil "performance" tenderá a utilizar las marchas mas altas siempre. Mientras que "Conservative" ("conservador"), es similar a "Ondemand", pero operará con un cambio de frecuencias menos peraltado. Ello redundara en mantener siempre las marchas bajas a no ser que se presente un requerimiento constante elevado (por ejemplo, codificar un video, rippear un CD o DVD, y demás tareas intensivas de cómputo), con lo cual se irán elevando las marchas una a una hasta lograr el requerimiento requerido.

De acuerdo al tipo de trabajo que estemos empleando, querremos utilziar un perfil de uso u otro, siendo "Ondemand" el más equilibrado.

No hay comentarios:

Publicar un comentario en la entrada