Pregunta

Tengo un cuadro RHEL que necesito poner bajo una cantidad moderada y variable de Carga de CPU (50% -75%).

¿Cuál es la mejor manera de hacer esto? ¿Hay algún programa que pueda hacer esto que no conozco? Estoy feliz de escribir algún código C para que esto suceda, simplemente no sé qué llamadas del sistema ayudarán.

¿Fue útil?

Solución

Esto es exactamente lo que necesitas: http://weather.ou.edu/~apw/projects/stress/

Desde la página de inicio: " stress es un generador de carga de trabajo simple para sistemas POSIX. Impone una cantidad configurable de CPU, memoria, E / S y tensión de disco en el sistema. Está escrito en C y es un software gratuito con licencia GPL. & Quot;

Otros consejos

Encuentre un programa simple de búsqueda de números primos que tenga código fuente. Modifique el código fuente para agregar una llamada de nanosleep al bucle principal con cualquier retraso que le dé la carga de CPU deseada.

Una forma común de obtener algo de carga en un sistema es compilar un gran paquete de software una y otra vez. Algo así como el kernel de Linux.

Obtenga una copia del código fuente, extraiga el archivo tar.bz2, vaya al directorio de origen del nivel superior, copie la configuración del kernel de / boot a .config o zcat /proc/config.gz > .config, el do make oldconfig, y while the true; hacer limpio & amp; & amp; hacer bzImage; hecho

Si tienes un sistema SMP, entonces hacer -j bzImage es divertido, generará tareas en paralelo.

Un problema con esto es ajustar la carga de la CPU. Será una carga máxima de CPU, excepto cuando se espera en la E / S del disco.

Podrías hacer esto usando un script Bash. Utilice " ps -o pcpu | grep -v CPU " Para obtener el uso de la CPU de todos los procesos. Agrega todos esos valores juntos para obtener el uso actual. Luego, tenga un bucle de ocupado mientras que, básicamente, continúa verificando esos valores, calculando el uso actual de la CPU y esperando un tiempo calculado para mantener el procesador en un determinado umbral. Se necesitan más detalles, pero espero que esto te brinde un buen punto de partida.

Echa un vistazo a este CPU Monitor secuencia de comandos que encontré e intenté Obtenga otras ideas sobre cómo puede lograr esto.

Realmente depende de lo que estés tratando de probar. Si solo está probando la carga de la CPU, los scripts simples para comer ciclos de CPU vacíos funcionarán bien. Personalmente tuve que probar el rendimiento de una matriz RAID recientemente y confié en Bonnie ++ y IOZone. IOZone pondrá una carga decente en la caja, especialmente si establece el tamaño de archivo más alto que la RAM.

También puede interesarle este artículo .

Utilice el " bonito " comando.

a) Máxima prioridad: $ nice -n -20 my_command

o

b) Prioridad más baja: $ nice -n 20 my_command

Un script simple para cargar & amp; martille la CPU usando awk. La secuencia de comandos realiza cálculos matemáticos y, por lo tanto, la carga de la CPU alcanza su punto máximo en valores más altos, que se transfieren a loadserver.sh.

verifique el script @ http://unixfoo.blogspot.com/2008/11/linux-cpu -hammer-script.html

Probablemente pueda usar alguna herramienta de generación de carga para lograr esto, o ejecute una secuencia de comandos para tomar todos los ciclos de CPU y luego usar nice y renice en el proceso para variar el porcentaje de ciclos que recibe el proceso.

Aquí hay un ejemplo de secuencia de comandos de bash que ocupará todos los ciclos de CPU libres:

#!/bin/bash
while true ; do
true
done

Lookbusy permite establecer el valor de la carga de la CPU. sitio del proyecto

lookbusy -c util[-high_util], --cpu-util util[-high_util]

i.e. 60% load
lookbusy -c 60

No estoy seguro de cuál es tu objetivo aquí. Creo que glxgears utilizará el 100% de la CPU.

Así que encuentre cualquier proceso que sepa que maximizará la CPU al 100%.

Si tiene cuatro núcleos de CPU (0 1 2 3), puede usar " tasket " para enlazar este proceso para decir CPUs 0 y 1. Eso debería cargar su caja al 50%. Para cargarlo, el 75% vincula el proceso a 0 1 2 CPU.

Descargo de responsabilidad: No he probado esto. Por favor, háganos saber sus resultados. Incluso si esto funciona, no estoy seguro de lo que lograrás con esto?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top