如何定义一个程序黑名单,以便在 RAM 内存使用量超出某个限度时停止?

如何定义一个程序黑名单,以便在 RAM 内存使用量超出某个限度时停止?

由于内存不足,我的电脑经常死机。我希望这种情况少发生。我知道,处于这种高内存使用率状态的系统在技术上仍在通过使用 SSD 或其他方式解决问题,但我不能等上几个小时让系统解决问题。我正在运行最新的 16.04,我需要这个版本的 Ubuntu。

请注意,我的电脑并不是特别旧,都是最近三年内购买的,并且至少有 8 GB 的 RAM。我怀疑这个内存问题是由大量 Electron 应用引起的。

我运行后indicator-sysmonitor会显示使用了多少 RAM 内存,并且可以看到内存使用情况显然是问题所在,因为在情况变糟之前,当内存使用率显示为 97% 左右时就会发生冻结。

因此,Ubuntu/GNU/Linux 中内置的当前解决方案对我来说不起作用。

  • 有哪些解决方案可能更适合我?

现在我想象创建一个程序黑名单(例如 Firefox、Chromium、Signal、Riot),如果系统总内存使用量接近 97%,则用一个小程序按内存使用量的顺序杀死这些列入黑名单的程序。

  • 存在这样的解决方案吗?
  • 如何在我的系统上启用它?

编辑:我已在下面添加了交换详细信息:

$ swapon --summary
Filename                Type        Size    Used    Priority
/dev/sda5                               partition   12469244    0   -1
$ free -h
              total        used        free      shared  buff/cache   available
Mem:            11G        1.9G        5.8G        943M        3.9G        8.4G
Swap:           11G          0B         11G

编辑:正如一些人所建议的那样,这与限制单个进程的内存过程完全无关(如这里所述)这是关于全部的内存使用情况,然后逐步针对黑名单程序采取行动,作为紧急措施阻止计算机冻结。下面介绍了一种解决方案。请回答是否有更好的方法。

相关内容