有没有办法限制 Firefox 中每个选项卡的 CPU 使用率?

有没有办法限制 Firefox 中每个选项卡的 CPU 使用率?

在 Firefox 中打开 20 多个选项卡不可避免地会导致 2-3 个选项卡持续使用大量 CPU,从而降低整个系统的速度。我想知道是否可以对每个选项卡消耗的总 CPU 时间进行限制。我知道可能无法找出插件等消耗了多少时间,所以我只限制 Javascript 的执行时间。

有一个插件叫暂停标签它采取了正确的操作,但基于错误的标准,在超时后停止(并卸载)所有不活动的选项卡。然而,这感觉像是地毯式轰炸:我有一些正在阅读的书籍或文章的选项卡,其中大多数都没有令人反感。我不想不必要地重新加载它们,因为它们通常很大,需要时间加载。

请注意,这与关于识别令人反感的标签。我对手动搜索此类标签不感兴趣。

我使用 Firefox,目前没有打算换一个。不过,我欢迎针对其他浏览器的相关回答,因为拥有一个对 CPU 要求较低的浏览器可能会说服我换一个。

答案1

您可以使用命令行实用程序cpulimit(由 OSX 安装aptitude install cpulimitbrew install cpulimit为 OSX 安装)来限制每个选项卡的最大 CPU 使用率。about:processes在 Firefox 中输入将为您提供进程 ID。假设有问题的选项卡的进程 ID 为 1234。然后

cpulimit -l 10 -p 1234

会将该选项卡的 CPU 使用率限制为 10%。

另一种方法是启动另一个 Firefox 或 Firefox Developer Edition 实例,将所有占用大量资源的选项卡放在那里,并使用 限制整个应用程序cpulimit

答案2

您可以使用实用程序“nice”和“renice”来设置/更改进程的优先级,以便它们占用更多或更少的 CPU 时间。

例如,此命令将设置进程 ID 为 987 的进程的优先级为 1:

renice 1 -p 987

这将设置进程 ID 为 987 的进程的优先级为 19:

renice 19 -p 987

优先级值较低的进程将获得更多的 CPU 时间,优先级值较高的进程将获得较少的 CPU 时间。优先级值通常介于 -20 到 20 之间,如果没有特别指定,则默认值为 0。

相关内容