Постарайтесь считывать многократные большие данные через процессор (т. Е. Не DMA). Как:
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;
}
Однако в зависимости от сервера большей проблемой может быть кэш-диск (в памяти), то кэш L1/L2. В Linux (например) падение с помощью:
sync
echo 3 > /proc/sys/vm/drop_caches
Edit: Это тривиально, чтобы генерировать большую программу, которая ничего не делать:
#!/usr/bin/ruby
puts "main:"
200000.times { puts " nop" }
puts " xor rax, rax"
puts " ret"
Запуск несколько раз под разными названиями (код не производится скрипт) должен делать работу
Какую архитектуру и ОС вы испытываете? –
Я полагаю, что делать некоторые случайные другие вещи на сервере для miunute или так было бы немного сырым? – Dentrasi
Мой вопрос, почему вы хотите это сделать? –