FreeBSD 的 cpulimit

FreeBSD 的 cpulimit

有谁知道 GNU/Linux 实用程序的等效程序CPU限制适用于 FreeBSD?

我并不是在谈论进程的优劣或对用户账户设置限制,而是实际限制特定进程使用的 CPU 百分比。

答案1

使用 /etc/login.conf 文件,您可以设置进程允许使用的最大 CPU 时间限制,但目前无法限制单个进程使用的 CPU 百分比。(参考这里

您可以通过在监狱中运行该进程来实现类似的效果,然后限制监狱的资源

答案2

还有一个新的实用程序 cpuset,您可以使用它将某些进程限制到特定的 CPU 上。

答案3

您可以在 tcsh 中设置 CPU 限制。

您实际上不需要使用 tcsh 的任何其他功能,只需制作一个像这样的中间人脚本,当时间用完时,它会与它调用的任何其他程序一起退出。您甚至可以将脚本命名为与要运行的其他程序相同,然后让它依次调用该程序,这样一切看起来都很无缝。

#!/bin/tcsh -fb

limit -h cputime 120   # Only allow 120 second of CPU max as an 
                       # an example, but any 31-bit number will due.
youractualapplication.real -youractualswitches $*:q  # $*:q will pass any 
                       # command line arguements you start this script with
                       # onto your actual application so things stay transparent.

-h 表示它将使用硬件来强制执行限制。这是在 80386 上安装的,所以现在所有东西都应该有它。但是您可以省略 -h 以让 tcsh 通过软件方法限制它,尽管我想不出这样做的任何理由,除非您可能运行了如此多的实例以至于硬件感到困惑或其他什么。

相关内容