De pavo a colibrí: Agiliza tu GNU/Linux

No hay nada más frustrante que venirse a GNU/Linux desde Windows o macOS huyendo de la pastosidad y que todo el sistema siga siendo lento. No es lo habitual, GNU/Linux gestiona el sistema de manera tan eficiente que raras veces se volverá lento. Sin embargo, no siempre es así, y con GNU/Linux puedes encontrar lentitud, pero puedes investigar bastante para comprobar qué es lo que falla.

Tu sistema podría estar funcionando lentamente por cualquiera de las siguientes razones:

  • Servicios innecesarios iniciados en el arranque por Systemd (o cualquier sistema de inicio que estés utilizando).
  • Alto uso de recursos por múltiples aplicaciones de uso intensivo que están abiertas.
  • Algún tipo de mal funcionamiento del hardware o una mala configuración.

Antes de averiguar cómo podemos acelerar un ordenador con GNU/Linux, necesitamos saber qué métodos pueden ayudarnos a encontrar los servicios iniciados en el arranque, los procesos que se ejecutan con mayor o menor prioridad, el estado de salud de la CPU, y si la RAM está rebosante con muchos más datos de los que necesitas, y también comprobar si la zona de memoria de intercambio está llena. Por último, también debemos comprobar si el disco duro está funcionando bien. Vamos a ir por partes.

Examinar la información de la CPU

Cuando se quiere acelerar un ordenador lento, el primer paso es comprobar la información de la CPU. Si tu ordenador tiene problemas para abrir un programa como un navegador o una suite ofimática, es posible que se deba a que tu CPU no es lo suficientemente potente para aplicaciones pesadas.

Abre una terminal y ejecuta una de los siguientes órdenes:

cat /proc/cpuinfo

A continuación:

lscpu

Las órdenes anteriores muestran información detallada sobre tu CPU, como vendor_id, nombre del modelo, MHZ de la CPU, tamaño de la caché, microcode y bogomips.

Vamos a repasar algunos detalles importantes sobre la información de la CPU.

bogomips: significa simplemente Bogus Millones de instrucciones por segundo. Es un programa independiente que muestra el rendimiento de tu sistema.
model_name: model_name indica el fabricante, el modelo y la velocidad de la CPU. En este caso, tenemos una
cpu MHZ: cpu MHZ (MegaHertz) se utiliza para medir la velocidad de transmisión de los canales, los buses y el reloj interno del ordenador. En este caso la velocidad de transmisión es de 2494.316.

Lamentablemente no puedes hacer mucho con una CPU muy limitada, esta información es tan sólo orientativa para ver las posibilidades que tienes.

 

Comprobación de los servicios iniciados en el arranque

Existen diferentes métodos para comprobar los servicios iniciados en el momento del arranque. Puedes utilizar cualquiera de las siguientes órdenes.

Esta orden lista los servicios iniciados en el momento del arranque usando Systemd, que es el inicio más extendido:

sudo systemctl list-unit-files --type=service --state=enabled

Esta orden también lista los servicios iniciados en el momento del arranque:

sudo systemctl list-unit-files --type=service

Para las distribuciones de GNU/Linux que utilizan Systemd, puedes utilizar la orden sudo systemctl disable *tipo de servicio para gestionar tus servicios, de forma que no se ejecuten durante el arranque.

 

Examinar la carga de la CPU

Aparte de comprobar los servicios iniciados en el arranque, también puedes comprobar si tu procesador/CPU está sobrecargado de procesos. Puedes utilizar la orden top o cualquiera de estas herramientas de monitorización del sistema para comprobar la carga de la CPU.

top ordena los procesos con mayor uso en la parte superior. Como puedes ver en la captura de pantalla de abajo, puedes identificar claramente qué proceso/aplicación está abusando de tu CPU y matarlo si es necesario usando la orden kill.  Alternativamente puedes usar a nival gráfico el monitor de sistema de tu distribución para visualizar la carga.

Si estás ejecutando demasiadas aplicaciones (tanto en primer plano como en segundo plano), y la CPU no está a la altura, lo mejor es cerrar las aplicaciones que no estés utilizando. Además, desactiva las aplicaciones que no estés utilizando y que se estén ejecutando en segundo plano.

Como alternativa, puede utilizar Preload para cargar las aplicaciones más utilizadas. Preload es un demonio que se ejecuta en segundo plano y analiza las aplicaciones que se ejecutan con frecuencia. Abre una terminal e instala esa utilidas.

Preload funciona en segundo plano, por lo que no es necesario ajustarlo. La utilidad se encarga de garantizar una carga más rápida de estas aplicaciones.

Después tienes que pensar en esos servicios que no necesitas. Por ejemplo, el bluetooth si no tienes dispositivos inalámbricos que usan esa tecnología, o si no tienes impresoras o escáneres, ¿para qué necesitas tener programas de gestión y sus servicios relacionados funcionando? Bluetooth o Hplist son servicios y programas que muchas distribuciones los traen activados por defecto, deshazte de ellos.

Comprueba si hay espacio libre en la memoria

La memoria RAM es el lugar donde se suelen almacenar las aplicaciones más utilizadas. Puedes utilizar la orden free para comprobar la información de la memoria, como el espacio libre disponible para la RAM, etc.

Un menor espacio de memoria afecta al rendimiento de un ordenador. También puedes usar Top y ver si hay algún proceso zombie/colgado.

Hazte con más memoria RAM o sustituye tus aplicaciones que consumen mucha memoria por alternativas ligeras. Las aplicaciones como las ofimáticas y los navegadores, o programas de randerizado de vídeo o audio consumen bastante memoria.

 

Comprueba si tu disco duro está trabajando en exceso

¿La luz de tu disco duro o un ruido extraño está funcionando constantemente, pero no tienes ni idea de lo que está haciendo? Una entrada/salida extraña puede ser un problema, por lo que existe una herramienta similar a la de Top, llamada iotop, pensada específicamente para ayudar a diagnosticar este tipo de problemas. Instala esa utilidad, debe de venir en todos los repositorios de las distribuciones GNU/Linux.

Un sistema normal, en reposo, debería ser mayoritariamente de ceros en todo el tablero, a veces con algunas pequeñas franjas mientras se escriben los datos, como en la captura de pantalla de abajo.

Ahora puedes averiguar fácilmente qué programa está utilizando tu E/S, quién lo ha ejecutado, la velocidad a la que se leen los datos y mucho más.

 

Aunque hay muchas cosas que pueden causar potencialmente la lentitud del sistema, la CPU, la RAM y la E/S del disco están detrás de la gran mayoría de los problemas de rendimiento. El uso de los métodos descritos aquí te ayudará a determinar la causa de tus problemas de rendimiento y cómo puedes solucionarlos.

3.7 3 votes
Article Rating
Subscribe
Notify of
guest
13 Comentarios
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
aldobelus

Buen artículo! Enhorabuena!

Ulises

Muy bueno

Vagabundo Oscuro

Hay servicios que es mejor hacerles mask, porque dan problemas al ser desactivados.

Blanco en casa

Por que pones cosas para Systemd, nadie deberia usar eso si quiere libertad, ademas, de donde sacas esas pestañas tan gigantescas, Decoracion de Lado Cliente? Por que promover esa basofia de canceladores?

Blanco en casa

Oh, fine, anybody makes mistakes anyway

Lucifer

Es gracioso que lo digas porque systemd realmente no pone en peligro la libertad de nadie en ningún sentido, lo que sí es que no es lo más pequeño o simple del mundo como OpenRC o runit, en todo caso solamente puedes acusarlo de romper la filosofía UNIX.

Pero según leí por ahí systemd es todo el proyecto, pero realmente se divide en dos componentes, el init o sistema de inicio y el framework que da todas las capacidades y es el verdadero centro de la discordia, como sea por favor no vayas a salir con cosas como que systemd-homed “secuestra” el directorio /home o que systemd entrega datos a Microsoft encriptándolos con BitLocker porque esas tonterías son pura consparanoia, y no lo digo por ti, pero sí por un pobre tipo de por allá.

Lucifer

Gracias, me halagas.  😆 

¿Qué tiene que ver Vi/Vim/Neovim (dijiste la bestia) con esto?  😂 

Bromas a parte, esto no tiene nada que ver con resquicios ni nada extremadamente técnico (sé por dónde va, pero te ahorro la decepción… No es el caso), es simple investigación (informarse bien tal y como tú haces para escribir tus artículos), no estoy defendiendo a systemd en esto, solamente busco evidenciar lo exagerado que es el panorama con respecto a este proyecto, además si fuera la bestia que dices, entonces dime cómo es que en Arch y familia se tiene una implementación mínima y simple comparada con la que se sirve en Debian y Fedora la cual está lista con todo el arsenal… Al menos la mayoría porque en Debian (y Ubuntu) no viene de forma predeterminada el paquete systemd-container, por ejemplo.

Además, no sé a qué viene el mito de “comerse la mitad de los recursos del sistema”, pues yo mismo he instalado Debian 10.x en dinosaurios y systemd no ha sido ninguna bestia ralentizadora, ello sin mencionar que prestando un poco de atención puede evitarse el arranque de servicios con systemd.

Pero vamos amigo (si aún somos amigos, al menos yo sí te considero uno), es más honesto decir que no se quiere nada con systemd por repudio a Red Hat (que entiendo tú tengas tus motivos para ello) y Poettering que inventar mitos y leyendas negras sobre él (no digo que tú lo hagas).

Lucifer

Pues la modularidad (y reutilización) sí es algo procedente de UNIX que GNU/Linux heredó, pero temo que se te escapó algo muy importante, ciertamente no puedes cambiar systemd sin romper el sistema, pero eso también es responsabilidad de los desarrolladores, mira a Debian que está trabajando en soportar otros inits, o sea, dejar elegir, (si otros no lo haces es cosa suya, no treta de Red Hat ni nadie) así como los cambios hechos para, por ejemplo, utilizar GNOME sin systemd.

Y por eso de “Red Hat la nueva Microsoft”, te fuiste muy largo, Red Hat comenzó a mostrar síntomas extraños cuando IBM (tienen sus cosas buenas, pero también malas) la adquirió, la Red Hat independiente antes de la adquisición sí entendía cómo funciona el software libre y abierto, no habría transformando CentOS (cuyo efecto colateral fue la fragmentación en el legítimo afán de mantener una alternativa comunitaria) y tampoco habría cedido a sumarse a estupideces como la cancelación de Stallman, recorte de fondos a la FSF (y GNU), si ha de culparse (o maldecir, que sería tu caso) a una empresa es a IBM, no ha Red Hat, caso similar el de GitHub, antes por muy cerrado que fuese el servicio no implicaba nada negativo, ahora bajo Microsoft reina la incertidumbre por mucho que mejore el servicio, ¿no te parece?

Ah y por Linus, él evitó que systemd fuese parte íntegra y se quitaran opciones, pues surgió esa propuesta, pero se quedó en eso.

Last edited 1 month ago by Lucifer
Blanco en casa

Aca va una buena, para los que quieran libertad https://www.phoronix.com/scan.php?page=news_item&px=GNU-Guix-1.3

Lucifer

Bueno, en equipos relativamente modestos es excelente activar Zswap, aunque tal vez a otros con más memoria y sin área de intercambio les favorezca zram.

13
0
Would love your thoughts, please comment.x
()
x