我想测试当CPU利用率接近99%时我的系统如何执行,内存利用率也接近99%。
为了增加内存和CPU利用率,我可以用C ++或其他东西编写一些代码吗?
我的机器是没有GUI的Ubuntu Server 12.04。
答案 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);
}
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
现在只需对整个数据[]