
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.
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
NLos trabajadores siguen girandosqrt()función, uso--cpu Nopciones. - desove
NLos trabajadores siguen girandosync()función, uso--io Nopciones. - desove
NLos trabajadores siguen girandomalloc()/free()función, uso--vm Nopciones. - Para asignar memoria para cada subproceso de trabajo de la máquina virtual, utilice
--vm-bytes Nopciones. - En lugar de liberar y reasignar recursos de memoria, puede reasignar memoria usando
--vm-keepopciones. - Establecer el sueño en
NEl número de segundos antes de liberar memoria usando--vm-hang Nopciones. - llegar
spawn NLos trabajadores siguen girandowrite()/unlink()función, uso--hdd Nopciones. - Puede configurar el tiempo de espera después
Nsegundos usando--timeout Nopciones. - Establezca el factor de espera en
NUtilice microsegundos antes de que comience cualquier trabajo.--backoff Nopciones. - Para mostrar información más detallada al ejecutar presión, utilice
-vopciones. - usar
--helpVea 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
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

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

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

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
NPara cada instancia de prueba de estrés, utilice--all NLas opciones son las siguientes. - comenzar
NPara ejercitar el proceso de la CPU ejecutando secuencialmente todos los diferentes métodos de prueba de esfuerzo de la CPU, utilice--cpu NLas opciones son las siguientes. - Para utilizar un método de prueba de estrés de CPU determinado, utilice
--cpu-methodopciones. 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.
Noperación bogo, uso--cpu-ops Nopciones. - comenzar
N I/OProceso de pruebas de estrés, utilizando--io Nopciones. - Luego detenga el proceso de presión io.
Noperación bogo, uso--io-ops Nopciones. - comenzar
Nproceso de prueba de estrés de vm, uso--vm Nopciones. - Para especificar la cantidad de memoria para cada proceso de máquina virtual, utilice
--vm-bytes Nopciones. - Luego detenga el proceso de presión de la máquina virtual.
Noperación bogo, uso--vm-ops NOpciones - usar
--hdd NInicio de opcionesNProceso de ejercicio del disco duro. - Luego detenga el proceso de presión del disco duro.
Noperación bogo, uso--hdd-ops Nopciones. - Puede configurar el tiempo de espera después
Nsegundos usando--timeout Nopciones. - Para generar un informe resumido después de una operación bogo, puede utilizar
--metricso--metrics-briefopciones. este--metrics-briefMostrar indicadores distintos de cero. - También puedes empezar
NProcesos que crearán y eliminarán directorios usando mkdir y rmdir--dir Nopciones. - Para detener el proceso de operación del directorio, use
--dir-ops Nopciones. - comenzar
N CPUEl proceso de consumo que ejercerá el nivel de bien actual incluye--nice Nopciones. 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 NLas opciones son las siguientes. - comenzar
NPara cambiar los bits del modo de archivo de un proceso mediante chmod(2) y fchmod(2) en el mismo archivo, use--chmod Nopciones. 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 Nopciones. - puedes usar
-vOpción para mostrar más información sobre la operación en curso. - usar
-hVer ayudastress-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

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

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

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

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.









