限制c++中的CPU使用
Limit CPU Usage in C++
有没有办法限制c++中CPU的使用?
我的意思是我可以写一个程序,占用输入%的CPU来使用,它使用最大的CPU量。
我基本上想在程序内部添加cpulimit命令的功能。
如果有,怎么做?
编辑:
环境:Linux (debian)与gcc 6.1。它应该支持尽可能多的任意数字。即1% - 100%的范围。如果操作系统不能这样做,则可以记录错误,并且可以使用最接近它的值或在操作系统限制该数字时推荐的任何其他解决方案。
Linux不提供设置特定百分比的方法。然而,nice(2)系统调用降低了该进程相对于系统上其他进程的优先级,从而实现了相对于系统上其他进程的某种CPU相对百分比。
您还可以使用setrlimit(2)系统调用来设置进程的RLIMIT_CPU
,作为一个固定的数量。
使用getrusage()
,参见Linux命令检测程序的计算机资源使用情况
当你检查时,你已经使用了你想要的多少毫秒的运行时间,使用nanosleep()
休眠几毫秒。
相关文章:
- 在模拟器中使用并集来模拟CPU寄存器有多合适
- 编写一个函数以使用 n 百分比的 CPU 使用率
- 什么时候最好在子进程中使用 CPU 或 I/O 密集型代码 [ C++ ]
- Tensorflow如何默认使用CPU核心
- 在 openGL 中,模型坐标应该在我的 CPU 上计算还是在 GPU 上使用 OpenGL 调用计算?
- 强制 Dlib python 仅使用 CPU 支持进行安装;在具有 Cuda 和所有内容的 GPU 机器上
- 线程SCHED_RR Posix 计时器使用的是 100% CPU
- FPGA - 使用 C/C++ 进行 CPU 延迟测量
- 使用 fgets() c++ 读取大型 txt 文件时的 CPU 使用率为 99%
- STD :: COUT正在减少CPU使用情况
- Qnetworkreply,QnetworkAccessManager- https下载文件 - 高CPU使用情况
- 如何使 MFC Visual Studio C++ 程序在双处理器设置中使用两个 CPU
- C 编译器如何知道正在使用哪种CPU体系结构
- 使用boost :: pool时使用高CPU
- 使用boost :: Beast进行CPU重的REST API,我是否应该使用异步或同步方式来实现它们以期望延迟
- OSX上的Gldrawelements具有很高的CPU使用情况
- 无法使用CPU后端使用TensorFlow AOT编译创建最终二进制文件
- 如果 OpenCV 的 Cuda 扩展不可用,请使用 CPU 回退
- 多线程-如何尽可能多地使用CPU
- 我如何测量我的函数的时间,只有我的函数在使用CPU