Я хочу протестировать возможности управления памятью программы, например (например, имя программы Director )
- Что произойдет, если некоторые другие процессы занимают слишком много памяти, а для директора слишком мало памяти? Как ведет себя режиссер?
- Что произойдет, если во время работы директора слишком много циклов ЦП используется какой-либо другой программой?
- Что произойдет, если через некоторое время освободится память, используемая другими программами? Как директор забирает память и начинает работать на полную мощность.
и т.д.
Я буду проводить эти эксперименты на Unix-машине. Один из способов - ограничить объем памяти, доступной для процесса, используя ulimit
, но нет хорошего способа контролировать использование цикла процессора.
У меня есть другая идея. Что, если я напишу какую-нибудь программу на C или C ++, которая действует как динамическая память и наполнитель ЦП, то есть ничего не делает полезного, но в любом случае съедает память и / или циклы ЦП?
Мне нужны некоторые идеи о том, как такая программа должна быть структурирована. Мне нужно иметь динамический (во время выполнения) контроль над используемой памятью и процессором.
Я думаю, что создание большого количества потоков было бы хорошим способом засорять циклы процессора. Это верно?
Есть ли лучший подход, который я могу использовать?
Любые идеи / предложения / комментарии приветствуются.