ruby - Ruby 进程如何限制其 CPU 使用率?

标签 ruby performance

假设我希望 Ruby 进程使用的 CPU 不超过 15%。是否可以?怎么办?

最佳答案

您可以尝试使用 Process.setrlimit来自标准核心:

Sets the resource limit of the process.

这看起来只是 setrlimit 的包装器来自 C 库,因此它可能仅在 Unix-ish 平台上可用。 setrlimit 不支持 CPU 百分比限制,但它支持以秒为单位限制 CPU 时间。

如果您只是想让您的 Ruby 进程不占用整个 CPU,那么您可以尝试使用 Process.setpriority 来调整它的优先级。这只是 libc 的 setpriority 的包装器并提供对进程调度优先级的一些控制。同样,可用性可能会受到您的平台的限制,但它应该可以在 Linux、OSX 或任何其他 Unix-ish 系统上运行。

关于ruby - Ruby 进程如何限制其 CPU 使用率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6008912/

相关文章:

ruby - 挽救多个错误

ruby - 如果无法建立连接,如何在Ruby中建立TCP连接而不引起异常?

c++ - 大输入程序耗时过长

javascript - Meteor 应用程序重新编译时间太长

c# - int[,] 数组与 Dictionary<> 的效率比较,用于不断更新

ruby - 如何使用Rake管理多目录项目?

ruby-on-rails - JSON 数据在开发中正确显示,但在生产中显示不正确

ruby-on-rails - ApplicationController :Class 的未定义方法 `caches_action'

python - 如何加快Python代码在功能强大的计算机上运行的速度?

java - 在上传到 Google App Engine 之前如何打包我的类(class)