限制c++中的CPU使用

Limit CPU Usage in C++

本文关键字:使用 CPU 中的 c++ 限制      更新时间:2023-10-16

有没有办法限制c++中CPU的使用?

我的意思是我可以写一个程序,占用输入%的CPU来使用,它使用最大的CPU量。

我基本上想在程序内部添加cpulimit命令的功能。

如果有,怎么做?

编辑:

环境:Linux (debian)与gcc 6.1。它应该支持尽可能多的任意数字。即1% - 100%的范围。如果操作系统不能这样做,则可以记录错误,并且可以使用最接近它的值或在操作系统限制该数字时推荐的任何其他解决方案。

Linux不提供设置特定百分比的方法。然而,nice(2)系统调用降低了该进程相对于系统上其他进程的优先级,从而实现了相对于系统上其他进程的某种CPU相对百分比。

您还可以使用setrlimit(2)系统调用来设置进程的RLIMIT_CPU,作为一个固定的数量。

使用getrusage(),参见Linux命令检测程序的计算机资源使用情况

当你检查时,你已经使用了你想要的多少毫秒的运行时间,使用nanosleep()休眠几毫秒。