Table of Contents
Cómo imponer una alta carga de CPU y una prueba de estrés en Linux usando la herramienta ‘Stress-ng’
Como administrador del sistema. es posible que desee examinar y supervisar el estado de sus sistemas Linux cuando se encuentran sometidos a una gran carga. Esta puede ser una buena manera para que los administradores y programadores del sistema:
- perfeccionen las actividades en un sistema.
- monitoreen las interfaces del kernel del sistema operativo.
- pruebe sus componentes de hardware Linux como CPU, memoria, dispositivos de disco y muchos otros para observar su desempeño bajo estrés.
- Mida diferentes cargas de consumo de energía en un sistema.
Prueba de estrés de carga de CPU de Linux con la herramienta Stress-ng
En esta guía, veremos dos herramientas importantes, estrés. y stress-ng. para pruebas de estrés en sus sistemas Linux.
1. estrés. es una herramienta generadora de carga de trabajo diseñada para someter su sistema a una medida configurable de CPU, memoria, E/S y estrés del disco.
2. stress-ng. es una versión actualizada de la herramienta generadora de carga de trabajo de estrés que prueba su sistema para las siguientes funciones:
- CPU compute
- drive stress
- Sincronizaciones de E/S
- E/S de tubería
- Eliminación de caché
- Esfuerzo de VM
- Esfuerzo de socket
- creación y terminación de procesos
- propiedades de cambio de contexto
Aunque estas herramientas son buenas para examinar su sistema, no deben ser utilizadas por cualquier sistema usuario.
freestar.config.enabled_slots.push
Importante. Se recomienda encarecidamente que utilice estas herramientas con privilegios de usuario root, ya que pueden estresar su máquina Linux muy rápido y evitar ciertos errores del sistema en hardware mal diseñado.
Cómo instalar la herramienta ‘stress’ en Linux
Para instalar la herramienta de estrés en Debian. y sus derivados como Ubuntu. y
$ sudo apt-get install stress
Para instalar estrés en un RHEL. CentOS. y Fedora. Linux, necesita activar el repositorio EPEL y luego escribir el siguiente comando yum para instalar el mismo:
# yum install stress
La sintaxis general para usar stress. es:
$ sudo argumento de la opción de estrés
Algunas opciones que puede utilizar con estrés.
- Para generar N. trabajadores girando en la función sqrt (), use la opción –cpu N. de la siguiente manera.
- Para generar N. trabajadores girando en la función sync (), use la opción –io N. de la siguiente manera.
- Para generar N. trabajadores girando en funciones malloc ()/free (), use la opción –vm N.
- Para asignar memoria por trabajador virtual, use –vm-bytes N.
- En lugar de liberar y reasignar recursos de memoria, puede volver a estropear la memoria mediante la opción –vm-keep.
- Configure la suspensión en N. segundos antes de liberar memoria mediante la opción –vm-hang N.
- Para generar N. trabajadores girando en las funciones write ()/unlink (), use la opción –hdd N.
- Puede establecer un tiempo de espera después de N. segundos usando el opción –timeout N.
- Establezca un factor de espera de N microsegundos antes de que comience cualquier trabajo usando la opción –backoff N. de la siguiente manera.
- Para mostrar información más detallada cuando se ejecuta el estrés, use -v.
- Use –help. para ver la ayuda para usar el estrés o ver la página de manual.
¿Cómo utilizo el estrés en los sistemas Linux?
1.. Para examinar el efecto del comando cada vez que lo ejecuta, primero ejecute el comando uptime. y anote el promedio de carga.
A continuación, ejecute el comando stress. para generar 8 trabajadores girando en sqrt (). con un tiempo de espera de 20. segundos. Después de ejecutar el estrés, ejecute nuevamente el comando uptime. y compare el promedio de carga.
[email protected] ~ $. uptime. [email protected] ~ $. sudo stress–cpu 8–timeout 20. [email protected] ~ $. uptime. Salida de muestra [email protected] ~ $. uptime. 17:20:00 hasta 7:51, 2 usuarios, promedio de carga: 1.91, 2.16, 1.93. [ <-Ver promedio de carga. [email protected] ~ $. sudo stress–cpu 8–timeout 20. stress: info: [17246] despachando cerdos: 8 cpu, 0 io, 0 vm, 0 hdd stress: info: [17246] ejecución exitosa completada en 21 s [email protected] ~ $. tiempo de actividad. 17:20:24 hasta 7:51, 2 usuarios,
2.. Para generar 8 trabajadores girando en sqrt () con un tiempo de espera de 30. segundos, mostrando información detallada sobre la operación, ejecute este comando:
[protegido por correo electrónico] ~ $. tiempo de actividad. [protegido por correo electrónico] ~ $. sudo stress–cpu 8-v–timeout 30s. [email protected] ~ $. tiempo de actividad. Salida de muestra [email protected] ~ $. uptime. 17:27:25 hasta 7:58, 2 usuarios, promedio de carga: 1.40, 1.90, 1.98. [ <-Ver promedio de carga. [email protected] ~ $. sudo stress–cpu 8-v–timeout 30s. stress: info: [17353] despachando cerdos: 8 cpu, 0 io, 0 vm, 0 hdd stress: dbug: [17353] usando el sueño de retroceso de estrés de 24000us: dbug: [17353] configurando el tiempo de espera en estrés de 30 segundos: dbug: [17353]-> hogcpu worker 8 [17354] estrés bifurcado: dbug: [17353] usando el sueño de retroceso de estrés de 21000us: dbug: [17353] configurando el tiempo de espera en 30 segundos de estrés: dbu g: [17353]-> trabajador hogcpu 7 [17355] estrés bifurcado: dbug: [17353] usando el sueño de retroceso de 18000us estrés: dbug: [17353] configurando el tiempo de espera en estrés de 30 segundos: dbug: [17353]-> trabajador hogcpu 6 [17356] estrés bifurcado: dbug: [17353] usando el sueño de retroceso de 15000us estrés: dbug: [17353] estableciendo el tiempo de espera en estrés de 30 s: dbug: [17353]-> hogcpu worker 5 [17357] estrés bifurcado: dbug: [ 17353] usando el sueño de retroceso de 12000us de estrés: dbug: [17353] estableciendo el tiempo de espera en 30 segundos de estrés: dbug: [17353]-> hogcpu worker 4 [17358] bifurcación de estrés: dbug: [17353] usando el sueño de retroceso de 9000us de estrés: dbug : [17353] configurando el tiempo de espera en estrés de 30 s: dbug: [17353]-> hogcpu worker 3 [17359] estrés bifurcado: dbug: [17353] usando el sueño de retroceso de 6000us estrés: dbug: [17353] configurando el tiempo de espera en estrés de 30 s: dbug: [17353]-> hogcpu worker 2 [17360] bifurcación de estrés: dbug: [17353] usando backoff sleep de 3000us stress: dbug: [17353] configurando el tiempo de espera en 30s stress: dbug: [17353]-> hogcpu worker 1 [17361] estrés bifurcado: dbug: [17353] [correo electrónico protegido] ~ $. tiempo de actividad. 17:27:59 hasta 7:59, 2 usuarios, promedio de carga: 5.41, 2.82, 2.28. [ <-Ver promedio de carga. .
3.. Para spwan un trabajador de las funciones malloc (). y free (). con un tiempo de espera de 60. segundos, ejecute el siguiente comando.
[email protected] ~ $. uptime. [email protected] ~ $. sudo stress–vm 1–timeout 60s. [email protected] ~ $. uptime. Salida de muestra [email protected] ~ $. uptime. 17:34:07 hasta 8:05, 2 usuarios, promedio de carga: 1.54, 2.04, 2.11. [ <-Ver promedio de carga. [email prot ected] ~ $. sudo stress–vm 1–timeout 60s. stress: info: [17420] despachando cerdos: 0 cpu, 0 io, 1 vm, 0 hdd stress: información: [17420] ejecución exitosa completada en 60s [email protected] ~ $. uptime. 17:35:20 hasta 8:06, 2 usuarios, promedio de carga: 2.45, 2.24, 2.17. [ <-Watch Load Average. .
4.. Para spwan 4 trabajadores girando en sqrt (), 2 trabajadores girando en sync (), 2 trabajadores en malloc ()/free (), con un tiempo de espera de 20 segundos y asigne una memoria de 256 MB por trabajador virtual, ejecute este comando a continuación.