Как я могу увеличить потребление памяти и процессора моей машины?

Я хочу проверить, как работает моя система, когда загрузка ЦП составляет около 99%, а также использование памяти также около 99%.

Чтобы увеличить использование памяти и процессора до такой степени, я могу написать какой-нибудь код на C ++ или что-нибудь еще?

Моя машина — Ubuntu Server 12.04 без графического интерфейса.

0

Решение

Вот что вы можете сделать:

#include <array>

const unsigned int BIG_SIZE = 50 * 1024 * 1024;

int main()
{
std::array<char, BIG_SIZE> *m = new std::array<char, BIG_SIZE>;std::fill(m->begin(),m->end(),0);

while(1)
;
}

Цикл while с использованием 100% одноядерного процессора.

Объект массива пожирает память. Вы должны прикоснуться к нему, в противном случае ОС на самом деле не выделит вам эту память.

0

Другие решения

для уничтожения процессора я обычно делаю что-то вроде этого:

volatile int thread_run=0;
volatile int thread_stop=0;
DWORD __stdcall CPU_Kill_thread(LPVOID *p)
{
thread_run++;
for(;!thread_stop;)
{
}
thread_run--;
}

void stop() // stop the threads before app exit
{
for (thread_stop=1;thread_run;) Sleep(1);
}
  • запустить 1 поток для каждого процессора и установить их привязку к соответствующему процессору !!!

на память убить:

  • внутри основной программы (или потока)

    1.size = 1<<20; = 1 МБ или что-то еще

    2.alatate dat = новый BYTE [размер]

    3.if (dat == NULL) выделить размер siz / 2 и остановить

    4. удалить данные; СИЗ<<= 1; перейти к 2

  • Теперь просто сделайте некоторый доступ к памяти на весь DAT []

  • не нужен доступ ко всем байтам
  • Вы можете сделать это для каждого 13-го байта или что-то еще (должно быть нечетное число, чтобы быть уверенным)
0

По вопросам рекламы [email protected]