Ограничение использования ОЗУ во время тестов производительности - PullRequest
0 голосов
/ 05 марта 2011

Мне нужно выполнить несколько тестов производительности, чтобы увидеть, как работают мои программы, когда в системе заканчивается ОЗУ и система начинает работать. В идеале я мог бы изменить объем оперативной памяти, используемой системой.

Я пытался загрузить мою систему (с Ubuntu 10.10) в однопользовательском режиме с ограниченным объемом физической памяти, но с параметрами, которые я использовал (max_addr = 300M, max_addr = 314572800 или mem = 300M), система сделала не использовать мой раздел подкачки.

Есть ли способ ограничить объем оперативной памяти, используемой всей системой, при этом используя пространство подкачки?

Задача состоит в том, чтобы измерить общее время работы каждой программы в зависимости от размера ввода. Я не пытаюсь точно определить проблемы с производительностью, я пытаюсь сравнить алгоритмы, а это значит, что мне нужна точность.

1 Ответ

0 голосов
/ 05 марта 2011

Напишите простую программу на языке c, которая

  • выделит большой объем памяти.
  • Продолжайте произвольно обращаться к выделенной памяти, пытаясь сохранить ее в основной памяти (в бесконечном цикле).

Теперь запустите эту программу (один или несколько процессов), чтобы выделить достаточно памяти для запуска процесса, который вы тестируете.

...