Cómo imponer una alta carga de CPU y una prueba de estrés en Linux usando la herramienta ‘Stress-ng’

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:

  1. perfeccionen las actividades en un sistema.
  2. monitoreen las interfaces del kernel del sistema operativo.
  3. pruebe sus componentes de hardware Linux como CPU, memoria, dispositivos de disco y muchos otros para observar su desempeño bajo estrés.
  4. Mida diferentes cargas de consumo de energía en un sistema.

 Herramienta de prueba de estrés de carga de CPU de Linux  Herramienta de prueba de esfuerzo de carga de CPU de Linux 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:

  1. CPU compute
  2. drive stress
  3. Sincronizaciones de E/S
  4. E/S de tubería
  5. Eliminación de caché
  6. Esfuerzo de VM
  7. Esfuerzo de socket
  8. creación y terminación de procesos
  9. 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 Mint. ejecute el siguiente comando.

$ sudo apt-get install stress

 Instalar estrés en Debian y Ubuntu  Instalar estrés en Debian y Ubuntu

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.

  1. Para generar N. trabajadores girando en la función sqrt (), use la opción –cpu N. de la siguiente manera.
  2. Para generar N. trabajadores girando en la función sync (), use la opción –io N. de la siguiente manera.
  3. Para generar N. trabajadores girando en funciones malloc ()/free (), use la opción –vm N.
  4. Para asignar memoria por trabajador virtual, use –vm-bytes N.
  5. En lugar de liberar y reasignar recursos de memoria, puede volver a estropear la memoria mediante la opción –vm-keep.
  6. Configure la suspensión en N. segundos antes de liberar memoria mediante la opción –vm-hang N.
  7. Para generar N. trabajadores girando en las funciones write ()/unlink (), use la opción –hdd N.
  8. Puede establecer un tiempo de espera después de N. segundos usando el opción –timeout N.
  9. Establezca un factor de espera de N microsegundos antes de que comience cualquier trabajo usando la opción –backoff N. de la siguiente manera.
  10. Para mostrar información más detallada cuando se ejecuta el estrés, use -v.
  11. 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, media de carga: 5,14, 2,88, 2,17. [ <-Media de carga del reloj. .

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.