c++ - 在 C++ 中限制 CPU 使用

标签 c++ linux multithreading

有没有办法在 C++ 中限制 CPU 使用率?

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

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

如果有,怎么办?

编辑:

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

最佳答案

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

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

关于c++ - 在 C++ 中限制 CPU 使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39548025/

相关文章:

c++ - 指针作为函数参数

linux - 带 SSL 的 Linux 服务中的 .Net Core 2.2 API

java - Java 线程到 Linux 线程 (LWP) 的一对一映射

java - Java 中的服务器客户端 : could not start client

java - 为什么我不应该在类的构造函数中使用 Thread.start()?

c++ - 链表拷贝构造函数C++

c++ - OpenGL 纹理无法正确加载

c++ - Win32 : How to create a bordless popup window

Linux Bash Number Range echo 语法错误

php - 基于多线程套接字的服务器-可能在php中?