El CPU o procesador es el corazón de todo lo que trabajamos en cualquier sistema operativo y su uso puede permitir que los procesos de trabajo sean veloces o notemos lentitud en los mismos afectando nuestra productividad, el procesador cuenta con numerosas características que van enlazadas a sus opciones de rendimiento, su diseño, tecnología, números de núcleos internos, velocidad, juegan un rol esencial para que todas las operaciones sean lo más veloces posibles pero cuando estamos trabajando en nuestras distribuciones Linux, en este caso Ubuntu, las cuales por defecto no requieren un CPU bastante exigente, podemos notar un alto consumo de este causando una ralentización de las tareas, en Ubuntu podemos comprobar todas las características del CPU con el comando:
lscpu
Solvetic tiene una serie de soluciones para corregir el alto consumo de CPU en Linux y así optimizar las tareas diarias.
1 Solucionar Alto Consumo CPU Linux desde procesos
Sin duda que los procesos son una de las causas más comunes para crear una afectación del CPU, el comando top nos permite ver los procesos de Linux usando una vista dinámica en tiempo real de toda la ejecución del sistema para detectar donde esta causa del error, con top tendremos acceso a la información resumida del sistema así como a la lista de procesos o subprocesos administrados por el Kernel del sistema.
Abrimos la terminal y ejecutamos "top" para listar procesos con su consumo de CPU:
- PID: es la identificación única del proceso de la tarea
- USUARIO: indica el usuario asociado a ese proceso
- PR: es la prioridad del proceso, en este caso entre más menor sea el número mayor será su prioridad
- NI: es el valor actual de la tarea, un valor Niza hace referencia a una prioridad más alta y un valor positivo nos enseña una prioridad más baja
- VIRT: es la memoria virtual total usada por el proceso
- RES: es la cantidad de RAM física usada por el proceso en kilobytes
- SHR: indica el tamaño de la memoria compartida (kb) por el proceso o tarea
- %CPU: es el punto que nos interesa e indica el uso total de CPU por ese proceso
- %MEM: es el uso de memoria de ese proceso
Allí será posible identificar algún proceso con alto consumo de CPU y considerar su detención.
2 Solucionar Alto Consumo CPU Linux matando procesos
Si un proceso persiste en el consumo de CPU podemos “matarlo” para liberar la CPU, para esto en primer abrimos la terminal y ejecutamos "top" para listar procesos actuales.
Allí tendremos en cuenta el PID del proceso que afecta al CPU:
Ahora matamos el proceso con la sintaxis:
sudo kill PID
Esto cerrará la aplicación o proceso con dicho PID.
3 Solucionar Alto Consumo CPU Linux Actualizando el sistema
Muchas veces el alto consumo de CPU se debe a sistemas operativos desactualizados los cuales tiene una implicación directa sobre el rendimiento del CPU.
Para actualizar el sistema, abrimos la terminal y lo actualizamos con el comando:
sudo apt update
Aplicamos las actualizaciones con la orden:
sudo apt upgrade
Confirmamos el proceso ingresando la letra S:
Esperamos que finalice este proceso de actualización:
4 Solucionar Alto Consumo CPU Linux Reinstalando App
Otra causa común de un alto consumo de la CPU en Linux está asociada a errores de la aplicación que con sus procesos internos recurre a un máximo uso de los recursos de CPU, en este caso se aconseja reinstalar la aplicación.
Para ello la desinstalamos ejecutando:
sudo apt remove app
Confirma el proceso:
Ejecutamos el siguiente comando para borrar por completo todos los paquetes asociados:
sudo apt autoremove
Confirma el proceso:
Actualizamos el sistema:
sudo apt update
Instalamos de nuevo la aplicación:
sudo apt install app
Confirmamos la operación. Allí podremos después de un tiempo ver el comportamiento del CPU.
5 Solucionar Alto Consumo CPU Linux usando versión anterior
Siguiendo con las aplicaciones, muchas veces las nuevas versiones pueden tener servicios que consumen recursos extras del CPU afectando su uso y generando un alto consumo, en este caso será posible volver a una versión anterior si es posible.
Para ello abrimos la terminal y validamos las versiones de la app:
sudo apt policy app
En caso de existir una versión anterior ejecutamos lo siguiente:
sudo apt install app=versión
6 Solucionar Alto Consumo CPU Linux con aplicaciones
Bien sabemos que una de las ventajas de Linux es que al ser de código abierto disponemos de miles de aplicaciones para ser usadas, una buena opción es usar aplicaciones alternativas a las que usamos en nuestro día a día.
En este caso por ejemplo en lugar de Firefox instalamos Google Chrome:
Luego ejecutamos el archivo .deb:
7 Solucionar Alto Consumo CPU Linux configurando Energía de Sistema
La energía en Linux puede ayudar a optimizar el uso general del sistema pero al mismo tiempo tener un impacto en el CPU debido a las tareas en segundo plano que son ejecutadas, para comprobar esto abrimos Configuración:
En la ventana emergente vamos a la sección "Energía" y validamos que esté activo "Equilibrado":
Con este método se busca un rendimiento y uso de energía estándar.
8 Solucionar Alto Consumo CPU Linux usando Escritorio ligero
Por defecto contamos con un entorno de escritorio GNOME el cual dispone de múltiples funciones que debido a su dinamismo puede afectar el rendimiento de la CPU, para solucionar esto podemos instalar un escritorio ligero como LXQt, este es un entorno de escritorio Qt que dispone de:
- Administrador de archivos avanzado
- Componentes modulares
- Administrador de ventanas
- Múltiples opciones de configuración
Abrimos la terminal e instalamos el entorno LXQt:
sudo apt install lxqt
Confirmamos el proceso y esperamos que finalice:
Después de esto cerramos la sesión:
Veremos el siguiente mensaje:
Accedemos a la pantalla de inicio de sesión, seleccionamos el usuario y en la parte inferior seleccionamos el nuevo entorno:
Inicia sesión en el nuevo entorno de escritorio:
9 Solucionar Alto Consumo CPU Linux cerrando apps
Con este método se busca deshabilitar o cerrar aplicaciones no ligadas a programas como tal sino a procesos, abrimos la terminal y ejecutamos:
xinput
xinput es una utilidad con la cual se listan los dispositivos de entrada disponibles, permite consultar información sobre un dispositivo así como cambiar la configuración del dispositivo de entrada disponible, allí es posible deshabilitar apps de entrada que afecten el CPU (si aplica) con la sintaxis:
xinput --disable ID_DISPOSITIVO
9 Solucionar Alto Consumo CPU Linux modificando el núcleo
Este es un paso de más cuidado ya que alguna mala configuración puede dañar el acceso al sistema y se considera como el último paso cuando ya nada ha funcionado, actualizar el núcleo a Liquorix, este es un reemplazo del kernel de distribución nativo y dispone de diversas opciones de configuración y kernel para cargas de trabajo de escritorio y tareas tradicionales, algunas de sus características son:
- Interacción con Zen
- Programador de procesos PDS
- Programación de tarea de alta resolución
- Control de congestión TCP BBR2
- RCU jerárquica basada en árbol preferente
- Depuración mínima
Abrimos la terminal y añadimos el repositorio:
sudo add-apt-repository ppa:damentz/liquorix
Pulsa Enter para agregarlo:
Actualizamos el sistema y de paso el repositorio que se acaba de añadir:
sudo apt update
Instalamos el núcleo con el comando:
sudo apt-get install linux-image-liquorix-amd64 linux-headers-liquorix-amd64
Confirma el proceso ingresando la letra S y espera que finalice:
Después de esto reiniciamos el sistema para aplicar los cambios:
Veremos el siguiente mensaje. Reiniciamos el sistema y esperamos que los cambios sean aplicados con el nuevo kernel y así validar durante el uso común si el CPU presenta un alto consumo o ya está estable.
Cada una de estas opciones es funcional para permitir que el CPU en Linux trabaje en base a sus características internas y con ello nuestro trabajo y procesos no se vean afectados por factores externos.