2008-09-26 33 views

Respuesta

15

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

Desde la página principal:. "el estrés es un generador de carga de trabajo simple para sistemas POSIX Impone una cantidad configurable de la CPU, memoria, E/S, y el estrés de disco en el sistema. Está escrito en C, y es software libre bajo la licencia GPL ".

+0

Esto funcionó perfectamente para mí en un entorno virtual. – Tim

+0

El enlace de arriba no está funcionando. Lo encontré aquí: http://people.seas.harvard.edu/~apw/stress/ –

0

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

Aquí está una muestra de escritura del golpe que ocupará todos los ciclos de la CPU gratuitas:

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

o directamente desde un terminal puede escribir: mientras que la verdadera; hacer verdad; hecho – Jesse

+0

Esto cargará una CPU al 100% de la CPU, pero nice y renice no permitirán ajustar esta carga, solo para ponderarla con los procesos de la competencia, si corresponde. – jlliagre

1

Una manera común de conseguir un poco de carga en un sistema para compilar es un paquete de software grande una y otra vez. Algo como el kernel de Linux.

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

Si tiene un sistema SMP, entonces haga que -j bzImage sea 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.

2

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

1

Realmente depende de lo que intentas probar. Si solo está probando la carga de la CPU, las secuencias de comandos simples para comer ciclos vacíos de la CPU funcionarán bien. Personalmente tuve que probar el rendimiento de una matriz RAID recientemente y confié en Bonnie ++ e IOZone. IOZone colocará una carga decente en la caja, particularmente si configura el tamaño del archivo más alto que la RAM.

Quizás te interese this Article.

1

Puede hacer esto usando un script Bash. Use "ps -o pcpu | grep -v CPU" para obtener el uso de la CPU de todos los procesos. Agregue todos esos valores para obtener el uso actual. Luego, tenga un ciclo while ocupado que, básicamente, siga comprobando esos valores, descubriendo el uso actual de la CPU y esperando una cantidad calculada de tiempo para mantener el procesador en un umbral determinado. Se necesitan más detalles, pero espero que esto te brinde un buen punto de partida.

Eche un vistazo a este script CPU Monitor que encontré e intente obtener algunas otras ideas sobre cómo puede lograr esto.

-1

No estoy seguro de cuál es su objetivo aquí. Creo que glxgears usará 100% de CPU.

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

Si tiene cuatro núcleos de CPU (0 1 2 3), puede usar "taskset" para vincular este proceso a 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 qué lograrás con esto?

0

Utilice el comando "nice".

a) La prioridad más alta: $ nice -n -20 my_command

o

b) la prioridad más baja: agradable -n 20 my_command

0

lookbusy permite el valor de la carga de la CPU fija. Project site

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

i.e. 60% load 
lookbusy -c 60 
Cuestiones relacionadas