Я хочу проверить, как работает моя система, когда загрузка ЦП составляет около 99%, а также использование памяти также около 99%.
Чтобы увеличить использование памяти и процессора до такой степени, я могу написать какой-нибудь код на C ++ или что-нибудь еще?
Моя машина — Ubuntu Server 12.04 без графического интерфейса.
Вот что вы можете сделать:
#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% одноядерного процессора.
Объект массива пожирает память. Вы должны прикоснуться к нему, в противном случае ОС на самом деле не выделит вам эту память.
для уничтожения процессора я обычно делаю что-то вроде этого:
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.size = 1<<20; = 1 МБ или что-то еще
2.alatate dat = новый BYTE [размер]
3.if (dat == NULL) выделить размер siz / 2 и остановить
4. удалить данные; СИЗ<<= 1; перейти к 2
Теперь просто сделайте некоторый доступ к памяти на весь DAT []