【发布时间】:2016-08-22 09:25:16
【问题描述】:
我想通过我的应用程序控制 CPU 使用率,谁能帮助我实现这一点?
例如:我想编写一个函数,如果我们将参数作为 150 传递,那么该特定进程的 cpu 使用率应该是 150。
抱歉没有写代码,我不知道如何开始。
所以我不是要代码,而是要问,是否有人可以帮助我解决逻辑/如何实现这一点?
【问题讨论】:
我想通过我的应用程序控制 CPU 使用率,谁能帮助我实现这一点?
例如:我想编写一个函数,如果我们将参数作为 150 传递,那么该特定进程的 cpu 使用率应该是 150。
抱歉没有写代码,我不知道如何开始。
所以我不是要代码,而是要问,是否有人可以帮助我解决逻辑/如何实现这一点?
【问题讨论】:
基本上,Linux 内核已经包含了为任何类型的进程管理资源的功能;你可以在不编写 C 代码的情况下利用它。
恰恰相反:你只是想自学如何使用cgroups;然后你想用“最小”的努力来使用背后的概念来编写你身边的自定义代码。
不要在这里重新发明轮子;如:与现有的 cgroup 今天相比,您的轮子(很可能)有缺陷!
但即使阅读了您的评论,我也不明白您为什么认为必须实施自己的自己的解决方案。如果您的程序需要少于 X%;无论如何,您对此无能为力。如果它想要的不止X;创建自己的专有机制有什么意义?
无论如何,cpulimit 工具可能会帮助您实现目标。
而且,您的“真正”问题似乎是:“如何产生 CPU 负载”;有很多方法可以到达那里,例如here。
【讨论】: