Intente leer datos repetidamente grandes a través de la CPU (es decir, no por DMA). Al igual que :
int main() {
const int size = 20*1024*1024; // Allocate 20M. Set much larger then L2
char *c = (char *)malloc(size);
for (int i = 0; i < 0xffff; i++)
for (int j = 0; j < size; j++)
c[j] = i*j;
}
Sin embargo dependen de servidor de un problema más grande puede ser una caché de disco (en la memoria) y luego caché L1/L2. En Linux (por ejemplo) gota usando:
sync
echo 3 > /proc/sys/vm/drop_caches
Editar: Es trivial para generar gran programa que no hacer nada:
#!/usr/bin/ruby
puts "main:"
200000.times { puts " nop" }
puts " xor rax, rax"
puts " ret"
Ejecución de un par de veces con diferentes nombres (código no la produce secuencia de comandos) debería hacer el trabajo
¿Qué arquitectura y sistema operativo está probando? –
Supongo que hacer algunas otras cosas al azar en el servidor durante un miunute o eso sería un poco crudo. – Dentrasi
Mi pregunta es ¿por qué querrías hacer eso? –