Тестирование производительности свопа

Тестирование производительности свопа

Я понимаю общую концепцию swap memory, но мне нужно каким-то образом создать программу, которая принудительно использует swap memoryдля тестирования производительности, и я даже не знаю, с чего начать.

В принципе, я собираюсь установить , flash memory cardкоторый будет использоваться как swap space, и я хочу проверить, как производительность улучшится при этом. Я подумал, что будет проще всего сделать простую программу, которая использует несколько потоков, чтобы проверить, насколько хорошо она обрабатывает несколько процессов, запущенных одновременно. Проблема в том, что я просто недостаточно знаю о swap(или не собрал достаточно информации из того, что я читал), чтобы знать, как я могу «заставить» эти потоки использовать swap space.

У кого-нибудь есть дельные предложения, как мне подойти к этому? Я бы запустил это на 64-bit linux OS, скорее всего Fedora 18.

решение1

Я не знаю, является ли это лучшим способом архивировать то, что вы хотите сделать, но я использовал такой код на языке C

#include <stdio.h>
#include <stdlib.h>


#define MB(size) ( (size) * 1024 * 1024 )

int main(){
    char *p;
    if((p = (char *)malloc(MB(256))) != NULL){
            memset(p, "A", MB(256));
            sleep(300);
    }
}

gcc -o mhog mhog.c
echo 1 > /proc/sys/vm/overcommit_memory

и запустите ./mhog много раз таким образом

./mhog &

Когда на вашем сервере или компьютере возникнет ситуация нехватки памяти, вы увидите, что начинается использование

Связанный контент