如何编写一个程序来使CPU在Linux上处于特定级别?

时间:2013-03-26 08:55:11

标签: c++ linux

我正在考虑编写一个测试工具,用于使CPU在Linux上达到指定级别,例如80%的使用率。我怎样才能做到这一点?这个工具是脚本还是c ++程序并不重要。

2 个答案:

答案 0 :(得分:2)

您可以使用stress程序。您也可以在Ubuntu(或Debian)中使用cpuburn套件:

apt-get install cpuburn

答案 1 :(得分:1)

对于独立于平台的解决方案,您可以编译并运行此C ++ 11程序的一个或多个实例,并根据所需的CPU使用百分比微调命令行参数。

//
// Application to sleep for nanoseconds specified by command-line argument
//

#include <chrono>
#include <iostream>
#include <limits>
#include <sstream>
#include <thread>

int main(int argc, char* argv[]){
  if (argc >= 2) {
    std::istringstream iss(argv[1]);
    unsigned int interval;
    if (iss >> interval)
      for(uint64_t i=0; i<std::numeric_limits<uint64_t>::max(); i++)
      std::this_thread::sleep_for(std::chrono::nanoseconds(interval));
  }
}