Esta limitada la memoria CPU de su sistema Linux

linux imagen relacionada

¿El sistema funciona lento? Si es así, su sistema estará vinculado a la memoria, CPU o E / S. Este artículo le mostrará una forma rápida de averiguar cuál de los tres es, lo que le permitirá realizar mejoras informadas en el rendimiento del sistema.

Siempre que su sistema funciona lento, casi siempre se debe al componente o cadena de componentes más lento de su sistema. A veces, esto puede ser causado por el software, pero a menudo, es el hardware el culpable.

Por ejemplo, si tiene un disco muy antiguo y lento, por ejemplo, un disco giratorio de 5400 RPM todavía algo común, a menudo denominado HDD o unidad de disco duro, ese disco puede ser el cuello de botella en su sistema.

Piense en ello como tuberías con agua corriendo a través de ellas. Imagine la memoria de su sistema, la unidad de computación (su CPU o Unidad Central de Procesamiento, el chip / procesador principal de su sistema) y los discos (como parte del sistema de E / S o Entrada / Salida), todo como tuberías de agua. Ahora, imagine que los componentes más lentos son una tubería más pequeña y los componentes más rápidos son una tubería más grande. Si necesita transferir 10L a través de cada tubería, la tubería más lenta tomará mucho más tiempo que la más grande.

En Linux, los principales cuellos de botella son la memoria (RAM), la computación (CPU) o la E / S (operaciones de disco). En el caso de la memoria, la velocidad puede ser un factor, pero quedarse sin ella es un gran problema. Para la CPU, si tiene hardware más antiguo, cada núcleo de la CPU funciona mucho más lento y es posible que no haya suficientes. Para E / S, el problema puede ser la lectura de discos duros lentos, así como las escrituras en disco excesivas.

Hay herramientas que puede utilizar para averiguar fácilmente si un sistema está vinculado a memoria, computación (CPU) o E / S. Todo lo que necesita es htop e iotop , dos herramientas semigráficas, que se pueden instalar fácilmente en Linux.

Instalación de htop e iotop

Para instalar htop e iotop en su distribución de Linux basada en Debian / Apt (como Ubuntu y Mint), haga: sudo apt install htop iotop

Para instalar htop e iotop en su distribución de Linux basada en RedHat / Yum (como RedHat y Fedora), haga: sudo yum install htop iotop

CPU enlazado

Es fácil ver si un sistema está vinculado a la CPU o no. Simplemente escriba `htop` en la línea de comando y presione enter. Luego, mire las coloridas barras de la CPU en la parte superior de la pantalla. Si su procesador tiene 16 hilos, habrá 16 barras.

La pregunta simple a responder es si están casi 'llenos' (cerca del 100%), o si hay suficiente espacio para moverse:

Si las barras son tan buenas como llenas, el sistema está claramente vinculado a la CPU. Tenga en cuenta también que las barras de memoria (Mem) y de intercambio (Swp) no están llenas de ninguna manera: esto no es un problema de rendimiento relacionado con la memoria.

Para obtener un poco más de información y tendencias, a continuación, puede consultar el número de 'Carga promedio'. Si bien este número es muy arbitrario , un poco de familiaridad con su sistema y el entendimiento general de que si alguno de estos tres números aumenta al doble de la cantidad de subprocesos en su sistema, el sistema está luchando por mantenerse al día.

El primer número promedio de carga es un promedio de 1 minuto, el siguiente es un promedio de 5 minutos y el último número es un promedio de 15 minutos. En este caso, la carga de 1 minuto es 270, que es casi 17 veces la cantidad de subprocesos: nuestro sistema está fuertemente vinculado a la CPU.

Finalmente, un número interesante para verificar es el número de tareas (y en menor medida subprocesos). Si bien los márgenes exactos de agua baja y alta dependen de las capacidades del hardware / máquina subyacente, si el número de tareas es excesivamente alto, su CPU puede estar cambiando de contexto (cambiando de procesar una tarea a otra) en gran medida.

Límite de memoria

Inmediatamente después de acceder a htop, es fácil ver si un sistema está vinculado a la memoria o no. Simplemente mire las barras de memoria (Mem) y de intercambio (Swp) mencionadas anteriormente.

Si la barra de memoria está completamente llena y, por ejemplo, la barra de intercambio está llena al 50%, es casi seguro que el sistema se está intercambiando mucho. El intercambio es el proceso de intercambiar el contenido de la memoria principal con el disco (usando un archivo de intercambio especial o una partición de intercambio) porque está lleno y, en general, es muy lento. Una vez que un sistema se inicia y continúa intercambiando, se volverá prohibitivamente lento.

Es fácil ver cuándo comienza a quedarse sin memoria, ya que la barra se llenará. Sin embargo, el uso del espacio de intercambio a veces puede ser un poco ambiguo.

Por ejemplo, el 20% puede estar en uso, pero queda mucha memoria. Esto puede indicar que el sistema operativo ha movido algunas áreas de memoria de uso de baja frecuencia al disco para optimizar la memoria principal. Como queda mucha memoria libre, esta situación está bien y no es motivo de preocupación.

También hay una excepción a una barra de memoria que parece bastante llena, y es el almacenamiento en caché. Su sistema puede estar configurado para reservar x cantidad de memoria para almacenamiento en caché.

Otra forma de verificar esto rápidamente es ejecutando free -gen la línea de comando (o free -mpara máquinas con cantidades más pequeñas de memoria como una Raspberry Pi): salida -g libre

Esto es fácil de leer: 62 Gigabytes de memoria, 25 en uso, 12 libres y 24 asignados actualmente a búferes y caché. El 32 disponible es un total aproximado de libre real (12) y lo que esté asignado a búferes y caché (24) menos lo que ya está en uso (no se muestra), o en otras palabras, 12 + 24 = 36 y 32 está disponible, entonces Aproximadamente 4 gigabytes son utilizados por búferes y almacenamiento en caché

Límite de E / S

El sistema parece estar ocupado, pero no lo suficiente como para considerarlo vinculado a la CPU. La memoria usada / libre y las barras de intercambio también se ven bien. Echemos un vistazo a iotop a continuación. Para hacerlo, debe usar sudo iotoppara iniciar iotop ya que iotop requiere sudo.

Las dos barras superiores son las más útiles para analizar rápidamente si un sistema tiene problemas con el rendimiento del disco y, por lo tanto, está limitado por E / S.

Si bien el número de M / s no es muy alto en términos de SSD moderno, leer y escribir constantemente varios megabytes por segundo en una unidad de disco duro lenta es una E / S bastante intensa.

Este número, cuando se observa por un tiempo, junto con la lista de procesos debajo (para ver quiénes son los principales usuarios), y la sección superior de la salida de htop (en términos de CPU y memoria) dan una buena idea general de si un El sistema está vinculado a la memoria, CPU o E / S.

Mitigar los problemas de rendimiento

Los cambios del sistema necesarios para mitigar los problemas de rendimiento son siempre específicos del sistema, así como de la situación específica experimentada. Algunos ejemplos:

¿Está vinculado el disco / E / S del sistema ? Puede tener sentido detener algunos servicios de registro de escritura pesada, actualizar el sistema de E / S (por ejemplo, agregando una tarjeta SATA en una computadora vieja), cambiar a un dispositivo de almacenamiento más rápido (como un disco basado en NVMe en lugar de un HDD), o simplemente para encontrar un SSD más rápido.

¿El sistema Memory / Swap está vinculado ? Por ejemplo, puede tener sentido ejecutar menos máquinas virtuales, ejecutar procesos que consuman menos memoria o agregar más módulos de memoria de hardware físico.

¿Está vinculada la CPU del sistema ? Utilice la lista de procesos inferior en htop para encontrar el proceso que está acaparando la CPU. Incluso puede terminarlo directamente desde htop usando la tecla F9.

Si el problema es la propia CPU (es decir, la CPU claramente no se mantiene al día con las tareas más básicas asociadas con el sistema), cambiar el hardware es un poco más complejo. Es necesario encontrar una CPU más rápida, aún compatible con el zócalo de la placa base, e incluso en ese caso, las mejoras de rendimiento pueden ser pequeñas. Puede que sea el momento de actualizar el sistema en general.

¿Más que un cuello de botella de rendimiento?

Volviendo a nuestra analogía con la tubería de agua, tenga en cuenta que a veces un cuello de botella puede ser causado por una combinación de varios componentes.

Por ejemplo, si una tarjeta controladora de E / S antigua o barata requiere el 80% del tiempo de la CPU solo para procesar datos, y el disco conectado a ella es una unidad de disco duro lenta que se utiliza al 80% de sus capacidades, incluso con el rendimiento de la tarjeta de E / S más barata, entonces ambos están creando un problema general que no se resolverá abordando ninguno. Ambos deberán corregirse antes de que el sistema vuelva a funcionar.

Gracias por visitar este sitio, espero que te haya gustado y vuelvas proximamente, compartela en las redes sociales, gracias

Compartir en Facebook Compartir en twitter

Fecha actualización el 2021-11-11. Fecha publicación el 2020-11-11. Categoría: linux Autor: Oscar olg Mapa del sitio Fuente: cloudsavvyit