如何增加机器的内存和CPU消耗?

时间:2014-02-05 12:19:36

标签: c++ memory ubuntu-12.04 cpu-usage

我想测试当CPU利用率接近99%时我的系统如何执行,内存利用率也接近99%。

为了增加内存和CPU利用率,我可以用C ++或其他东西编写一些代码吗?

我的机器是没有GUI的Ubuntu Server 12.04。

2 个答案:

答案 0 :(得分: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)
        ;
}

使用100%单核CPU的while循环。

数组对象会耗尽内存。你必须触摸它,否则操作系统不会真正为你分配内存。

答案 1 :(得分:0)

对于CPU杀死我通常做这样的事情:

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);
 }
  • 为每个CPU启动1个线程,并将它们的亲和力设置为适当的CPU !!!

for memory Kill:

  • 在主程序(或线程)中

    1.尺寸= 1·;&LT; 20; = 1MB或其他

    2.allocate dat = new BYTE [size]

    3.if(dat == NULL)分配siz / 2大小并停止

    4.删除数据; SIZ&LT;&LT; = 1;转到2

  • 现在只需对整个数据[]

  • 进行一些内存访问
  • 不需要访问所有字节
  • 你可以为每13个字节或其他任何东西做这件事(应该是奇数才能确定)