如何避免内存不足以挂起系统

我在Ubuntu上看到了很多与内存相关的问题,说实话,我真的无法理解如何解决这些问题。

我有8GB内存。 我已经尝试了/没有交换没有太大的差异。

问题是我经常(每天最多一次)必须硬重启我的笔记本电脑,因为它完全冻结(等待没有帮助)。 它很可能与我的Web浏览器的RAM使用有关。 从这里开始,笔记本电脑上没有高要求的过程。

为了实验/再现:

  • 我用Python填充我的记忆,填充列表的无限循环。
  • 我打开了我的(网络)浏览器(Chrome / Firefox),带有一个或多个标签。

我的观察是:

  • Python无法无限地分配内存:它最终会引发MemoryError
  • 另一方面,浏览器不会给出关于它的信息,并且在我的情况下会挂起系统。 我必须硬重启笔记本电脑然后。

我不明白:

  • 为什么允许浏览器分配越来越多的内存(看起来最后一点)
  • 为什么系统挂起而不是“只是”杀死一个进程。

我知道交换需要CPU,所以它可能会暂停系统一段时间。 这就是为什么我禁用它,所以我认为内核会迅速决定杀死进程。

我无法理解这种基本用法(使用浏览器)如何成为使用8GB RAM的最新操作系统的问题。 我是否需要调整我的系统以获得可靠的系统?

感谢任何有用的建议/解释/技巧。