如何最好地硬限制 Firefox 的内存占用?

如何最好地硬限制 Firefox 的内存占用?

我在 Devuan GNU/Linux Beowulf 桌面上使用 Firefox 83。

不幸的是,由于我不清楚的原因,FF 存在内存问题,导致它逐渐占用越来越多的系统内存。只要我正在使用该系统,它就可以忍受,但是当我将其放置几个小时时,我发现它已经交换了其他所有内容,并且我的系统占用了......哦,大约几分钟的磁盘I / O 恢复体形(通常是在我完成killall firefox-bin文本 VT 之后)。

我决定对 FF 的物理和/或交换内存使用量进行硬限制。我读过关于 ServerFault 的这篇文章:

限制单个linux进程的内存使用

有很多建议的方法可以做到这一点:

  • 使用uptimeperl 脚本包装进程执行
  • 定义一个内存有限的进程控制组(cgroups机制),然后使用以下方法包装进程执行cgexec
  • 使用复杂的基于 cgroup 的包装脚本
  • 将流程执行包装在脚本中,该脚本设置ulimit
  • 在某些条件下使用 monit 守护进程杀死 Firefox(当确定机器处于空闲状态时超出一定的内存量,尽管这可能很难检测到(?))

但对于我的一生来说,我无法决定要尝试哪一个。我能了解不同方法的优缺点吗?

笔记:

  • 请记住,Firefox 通常已经由包装脚本启动。此外,它还会启动子进程。
  • 该机器是 Intel i5-7600K,具有 16 GB 物理 RAM。
  • 我偶尔也会使用一些其他重要的内存消耗者(例如我使用的内存数据库);但该机器不是专用服务器或任何东西 - 只是我的桌面。
  • 如果您需要有关我的使用情况的更多信息,请询问。
  • 如果您还有上面列出的其他替代方案,您也可以为其添加优点和缺点。
  • 您可以仅涵盖您有经验的一两个替代方案,无需讨论所有选项。

相关内容