Versuchen Sie wiederholt große Daten über die CPU zu lesen (d. H. Nicht per DMA). Like:
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;
}
jedoch auf dem Server abhängen ein größeres Problem kann eine Disk-Cache (im Speicher) sein dann L1/L2-Cache. Verwendung unter Linux (zum Beispiel) fallen:
sync
echo 3 > /proc/sys/vm/drop_caches
Edit: Es ist trivial großes Programm zu erzeugen, die nichts zu tun:
#!/usr/bin/ruby
puts "main:"
200000.times { puts " nop" }
puts " xor rax, rax"
puts " ret"
einige Male unter verschiedenen Namen Laufen (Code erzeugt nicht die Skript) sollte die Arbeit tun
Welche Architektur und Betriebssystem testen Sie? –
Ich nehme an, einige zufällige andere Dinge auf dem Server für eine miunute oder so zu tun wäre ein bisschen zu grob? – Dentrasi
Meine Frage ist, warum möchten Sie das tun? –