Provare a leggere dati ripetitivi di grandi dimensioni tramite CPU (vale a dire non da DMA). Come :
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;
}
Tuttavia dipendono server di un problema più grande può essere una cache del disco (in memoria) allora cache L1/L2. Su Linux (per esempio) goccia utilizzando:
sync
echo 3 > /proc/sys/vm/drop_caches
Edit: E 'banale di generare programma di grandi dimensioni che non fanno nulla:
#!/usr/bin/ruby
puts "main:"
200000.times { puts " nop" }
puts " xor rax, rax"
puts " ret"
Esecuzione di un paio di volte con nomi diversi (codice non il prodotto script) dovrebbe fare il lavoro
fonte
2010-08-09 19:26:08
Quale architettura e sistema operativo stai testando? –
Suppongo che fare altre cose a caso sul server per un miunute o sarebbe un po 'troppo duro? – Dentrasi
La mia domanda è perché vorresti farlo? –