2

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

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

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

1 ответ1

0

Я не знаю, если это лучший способ архивировать то, что вы хотите сделать, но я использовал код 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 &

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .