假设我希望 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/