如何编写一个程序使CPU在Linux上处于一定的水平?

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

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

 apt-get install cpuburn 

对于独立于平台的解决方案,您可以编译并运行此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)); } }