Tutoriales

Cómo realizar pruebas de estrés en CPU de Linux bajo carga alta

En esta guía exploraremos dos herramientas importantes, stress y stress-ngutilizado para pruebas de estrés integrales de sistemas Linux.

como un administrador del sistemaExaminar y monitorear el rendimiento de su sistema Linux bajo cargas de trabajo pesadas es fundamental para mantener un rendimiento y una confiabilidad óptimos.

Pruebas de estrés proporcionadas administrador del sistema y programador Con información valiosa:

  • Ajuste la actividad del sistema y optimice las configuraciones.
  • Supervise las interfaces del kernel del sistema operativo bajo carga.
  • Pruebe los componentes de hardware de Linux, como CPU, memoria, dispositivos de disco, etc., para observar su rendimiento bajo estrés.
  • Mida diferentes cargas que consumen energía y su impacto en el sistema.

Herramientas de prueba de estrés de Linux: estrés y estrés-ng

stress y stress-ng Es una herramienta importante para evaluar y probar el rendimiento del sistema Linux en diversas condiciones.

herramienta de presión

stress es una herramienta simple pero poderosa diseñada para imponer una cantidad configurable de CPU, memoria, E/S o estrés en el disco en un sistema Linux y permitir a los administradores observar cómo el sistema responde bajo estrés simulando una carga de trabajo pesada.

Publicaciones relacionadas

Esta herramienta es valiosa para identificar posibles debilidades y garantizar que el sistema pueda manejar tareas exigentes sin afectar el rendimiento.

herramienta de presión

stress-ngversión extendida stresssuperando la funcionalidad básica de su predecesor.

Proporciona una gama más amplia de pruebas de estrés, que cubren no solo la CPU, la memoria, las E/S y la presión del disco, sino que también incluye pruebas adicionales para la comunicación entre procesos, sockets y diversas operaciones de archivos, etc.

Ambos stress y stress-ng Hizo contribuciones significativas a la gestión proactiva de sistemas Linux, permitiendo a los administradores y programadores optimizar las configuraciones del sistema, identificar problemas potenciales y mejorar la confiabilidad general del sistema.

importante: Se recomienda encarecidamente que utilice estas herramientas con privilegios de root, ya que pueden estresar su máquina Linux muy rápidamente y evitar ciertos errores del sistema en hardware mal diseñado.

Cómo instalar la herramienta «estrés» en Linux

Instalar stress En Linux, utilice los siguientes comandos según corresponda para su distribución de Linux específica.

sudo apt install stress         [On Debian, Ubuntu and Mint]
sudo yum install stress         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/stress  [On Gentoo Linux]
sudo apk add stress             [On Alpine Linux]
sudo pacman -S stress           [On Arch Linux]
sudo zypper install stress      [On OpenSUSE]    
sudo pkg install stress         [On FreeBSD]

Sintaxis general utilizada stress Sí:

sudo stress option argument

Aquí hay algunas opciones clave disponibles para usted presión:

  • desove N Los trabajadores siguen girando sqrt() función, uso --cpu N opciones.
  • desove N Los trabajadores siguen girando sync() función, uso --io N opciones.
  • desove N Los trabajadores siguen girando malloc()/free() función, uso --vm N opciones.
  • Para asignar memoria para cada subproceso de trabajo de la máquina virtual, utilice --vm-bytes N opciones.
  • En lugar de liberar y reasignar recursos de memoria, puede reasignar memoria usando --vm-keep opciones.
  • Establecer el sueño en N El número de segundos antes de liberar memoria usando --vm-hang N opciones.
  • llegar spawn N Los trabajadores siguen girando write()/unlink() función, uso --hdd N opciones.
  • Puede configurar el tiempo de espera después N segundos usando --timeout N opciones.
  • Establezca el factor de espera en N Utilice microsegundos antes de que comience cualquier trabajo. --backoff N opciones.
  • Para mostrar información más detallada al ejecutar presión, utilice -v opciones.
  • usar --help Vea ayuda sobre el uso de presión o vea la página de manual.

Cómo utilizar la presión en los sistemas Linux

Aquí hay algunos comandos de ejemplo para comenzar. presión:

1. Prueba de estrés básica de la CPU

Para verificar la efectividad de la prueba de estrés, primero ejecute el comando uptime para registrar los promedios de carga.

A continuación, ejecuta presión El comando genera 8 trabajadores giratorios. sqrt() El tiempo de espera es de 20 segundos. Después de ejecutar el estrés, verifique nuevamente el tiempo de actividad y compare los promedios de carga.

uptime
sudo stress --cpu 8 --timeout 20
uptime
Prueba de estrés del sistema Linux

2. Prueba de estrés de la CPU con resultados detallados

Genera 8 trabajadores que continúan girando. sqrt() El período de tiempo de espera es 30 segundos, para mostrar información detallada sobre la operación, ejecute el siguiente comando:

uptime
sudo stress --cpu 8 -v --timeout 30s
uptime
8 subprocesos realizan prueba de estrés de la CPU
8 subprocesos realizan prueba de estrés de la CPU

3. Prueba de estrés de la memoria virtual

generar un trabajador malloc() y free() función de tiempo de espera 60 segundos, ejecute el siguiente comando.

uptime
sudo stress --vm 1 --timeout 60s
uptime
Realizar pruebas de estrés de memoria virtual
Realizar pruebas de estrés de memoria virtual

4. Pruebas de estrés combinadas (CPU, E/S y memoria)

Genera 4 trabajadores que continúan girando. sqrt()2 trabajadores están criando sync()2 trabajadores malloc()/free()con un tiempo de espera de 20 segundos y 256 MB de memoria asignada a cada subproceso de trabajo de la máquina virtual, ejecute el siguiente comando.

uptime
sudo stress --cpu 4 --io 3 --vm 2 --vm-bytes 256M --timeout 20s
uptime
Prueba de estrés multifacética: CPU, E/S, memoria virtual
Prueba de estrés multifacética: CPU, E/S, memoria virtual

Cómo instalar la herramienta “stress-ng” en Linux

Instalar stress-ng En Linux, utilice los siguientes comandos según corresponda para su distribución de Linux específica.

sudo apt install stress-ng         [On Debian, Ubuntu and Mint]
sudo yum install stress-ng         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/stress-ng  [On Gentoo Linux]
sudo apk add stress-ng             [On Alpine Linux]
sudo pacman -S stress-ng           [On Arch Linux]
sudo zypper install stress-ng      [On OpenSUSE]    
sudo pkg install stress-ng         [On FreeBSD]

Sintaxis general utilizada PresiónNG Sí:

sudo stress-ng option argument

Algunas opciones disponibles para ti PresiónNG:

  • comenzar N Para cada instancia de prueba de estrés, utilice --all N Las opciones son las siguientes.
  • comenzar N Para ejercitar el proceso de la CPU ejecutando secuencialmente todos los diferentes métodos de prueba de esfuerzo de la CPU, utilice --cpu N Las opciones son las siguientes.
  • Para utilizar un método de prueba de estrés de CPU determinado, utilice --cpu-method opciones. Hay varios métodos que puede utilizar; consulte la página de manual para ver todos los métodos a utilizar.
  • Luego detenga el proceso de estrés de la CPU. N operación bogo, uso --cpu-ops N opciones.
  • comenzar N I/O Proceso de pruebas de estrés, utilizando --io N opciones.
  • Luego detenga el proceso de presión io. N operación bogo, uso --io-ops N opciones.
  • comenzar N proceso de prueba de estrés de vm, uso --vm N opciones.
  • Para especificar la cantidad de memoria para cada proceso de máquina virtual, utilice --vm-bytes N opciones.
  • Luego detenga el proceso de presión de la máquina virtual. N operación bogo, uso --vm-ops N Opciones
  • usar --hdd N Inicio de opciones N Proceso de ejercicio del disco duro.
  • Luego detenga el proceso de presión del disco duro. N operación bogo, uso --hdd-ops N opciones.
  • Puede configurar el tiempo de espera después N segundos usando --timeout N opciones.
  • Para generar un informe resumido después de una operación bogo, puede utilizar --metrics o --metrics-brief opciones. este --metrics-brief Mostrar indicadores distintos de cero.
  • También puedes empezar N Procesos que crearán y eliminarán directorios usando mkdir y rmdir --dir N opciones.
  • Para detener el proceso de operación del directorio, use --dir-ops N opciones.
  • comenzar N CPU El proceso de consumo que ejercerá el nivel de bien actual incluye --nice N opciones. Cuando se utiliza esta opción, cada iteración bifurca un subproceso que recorre todos los diferentes niveles de bien, ejecuta un bucle ocupado durante 0,1 segundos en cada nivel y luego sale.
  • Para detener un bucle agradable, utilice --nice-ops N Las opciones son las siguientes.
  • comenzar N Para cambiar los bits del modo de archivo de un proceso mediante chmod(2) y fchmod(2) en el mismo archivo, use --chmod N opciones. Tenga en cuenta que cuanto mayor sea el valor de N, más contención tendrá el archivo. El factor de estrés manejará todas las combinaciones de bits de modo que especifique con chmod(2).
  • Puede detener la operación chmod haciendo --chmod-ops N opciones.
  • puedes usar -v Opción para mostrar más información sobre la operación en curso.
  • usar -h Ver ayuda stress-ng.

Cómo utilizar «stress-ng» en sistemas Linux

Aquí hay algunos stress-ng Pruebe el comando de ejemplo para comenzar:

1. Indicadores y pruebas de estrés de la CPU

Ejecuta 8 estresores de CPU con un tiempo de espera de 60 segundos y resumen al final de la operación.

uptime
sudo stress-ng --cpu 8 --timeout 60 --metrics-brief
uptime
Prueba de estrés de CPU de 8 subprocesos
Prueba de estrés de CPU de 8 subprocesos

2. Prueba de método de CPU específico (FFT)

correr 4 Factor de estrés de la CPU FFT, el tiempo de espera es de 2 minutos.

uptime
sudo stress-ng --cpu 4 --cpu-method fft --timeout 2m
uptime
4 subprocesos realizan prueba de estrés de CPU
4 subprocesos realizan prueba de estrés de CPU

3. Prueba de estrés del disco duro

Para ejecutar 5 factores estresantes del disco duro y detenerlo después de 100000 operaciones bogo, ejecute este comando.

uptime
sudo stress-ng --hdd 5 --hdd-ops 100000
uptime
Prueba de estrés del disco duro de Linux
Prueba de estrés del disco duro de Linux

4. Pruebas de estrés combinadas (CPU, E/S y memoria virtual)

Para ejecutar 8 factores de estrés de la CPU, 4 factores de estrés de E/S y 1 factor de estrés de la memoria virtual durante un minuto usando 1 GB de memoria virtual, ejecute el siguiente comando.

uptime
sudo stress-ng --cpu 4 --io 4 --vm 1 --vm-bytes 1G --timeout 60s --metrics-brief
uptime
Prueba de estrés: CPU, E/S y memoria virtual
Prueba de estrés: CPU, E/S y memoria virtual

Casos de uso del mundo real para pruebas de estrés de Linux

Comprender cuándo y por qué utilizar herramientas de pruebas de estrés puede ayudarle a mantener una mejor salud del sistema.

1. Pruebas de carga antes de implementar un nuevo servidor

Antes de poner un nuevo servidor en producción, ejecutar una prueba de esfuerzo exhaustiva para garantizar que pueda manejar la carga de trabajo esperada le ayudará a detectar problemas de hardware de forma temprana:

sudo stress-ng --cpu 0 --vm 2 --vm-bytes 80% --timeout 10m --metrics-brief

este --cpu 0 La opción utiliza automáticamente todos los núcleos de CPU disponibles mientras --vm-bytes 80% Utiliza el 80% de la memoria disponible.

2. Pruebe la carga después de la actualización del hardware

Después de actualizar la RAM, la CPU o el almacenamiento, verifique que el nuevo hardware esté funcionando correctamente:

sudo stress-ng --cpu 0 --io 4 --hdd 2 --timeout 5m --verify

este --verify Opción para comprobar si la operación de prueba de esfuerzo produce resultados correctos.

3. Reproducir cargas de trabajo de producción

Simule el modo de carga de trabajo de producción para probar la estabilidad del sistema antes de implementar nuevas aplicaciones:

sudo stress-ng --cpu 4 --cpu-load 75 --vm 2 --vm-bytes 2G --timeout 30m

este --cpu-load 75 opción para mantener el uso de la CPU en aproximadamente el 75% en lugar de maximizarlo.

generalizar

Se recomienda que estas herramientas se utilicen con privilegios de superusuario, ya que tienen un impacto significativo en los recursos del sistema.

Ambos stress y stress-ng Es una excelente herramienta para realizar tareas generales de administración de sistemas en un entorno Linux.

Comprender cómo funciona su sistema bajo estrés puede ayudarlo a tomar decisiones informadas sobre planificación de capacidad, actualizaciones de hardware y optimización del sistema.

Espero que esta guía sea útil. Si tiene alguna otra idea sobre cómo utilizar estas herramientas o cualquier otra utilidad de prueba de estrés para probar el estado de su sistema, no dude en compartir sus opiniones en los comentarios a continuación.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba