![当大量访问 SWAP 导致系统死机时我该怎么办](https://linux22.com/image/1119233/%E5%BD%93%E5%A4%A7%E9%87%8F%E8%AE%BF%E9%97%AE%20SWAP%20%E5%AF%BC%E8%87%B4%E7%B3%BB%E7%BB%9F%E6%AD%BB%E6%9C%BA%E6%97%B6%E6%88%91%E8%AF%A5%E6%80%8E%E4%B9%88%E5%8A%9E.png)
内存越来越少,频繁的 SWAP 访问一开始会让系统响应非常慢,但如果我不释放大量内存,系统就会变得几乎完全死机。现在我遇到了这种荒谬的情况,我甚至无法登录,而系统和程序仍在运行,并不断来回交换 GB 的内存。
图形登录甚至没有出现。在我按下 Ctrl-Alt-F1 并等待几分钟后,文本登录出现了。但是当我输入我的登录名时,它显示 60 秒后,但在密码登录提示出现之前“登录在 60 秒后超时”。有时我会进入密码提示,但仍然在 60 秒后超时。我现在还在尝试,有人有更好的主意吗?我甚至不能像这样正常关机。实际上,关闭一些 Chromium 选项卡(或终止其任务)就足够了,只是怎么做?
顺便说一句,只有一个程序和一个网站造成了这种混乱:Chromium 和 Facebook。虽然 Facebook 在 Chromium 中渲染速度非常快,但它占用大量内存——每个选项卡大约几百 MB。随着这些 FB 选项卡的更新,每个选项卡都包含一个聊天窗口、滚动更新等,内存使用量不断增长。这次我打开了大约 20 个选项卡,其中很多是 FB 选项卡。
系统:AMD64 3.5 GB RAM,Ubuntu 13.10(64 位)
交换已加密。我不知道不使用磁盘加密是否会有所不同。
答案1
由于物理内存耗尽,您正经历系统抖动,因此系统不断地将内存页面换入和换出磁盘。
http://en.wikipedia.org/wiki/Thrashing_%28computer_science%29
三种可能的解决方案:
- 购买更多 RAM
- 尝试使用其他浏览器,看看它是否具有较低的内存使用率,直到您可以获得更多的 RAM。
- 在购买更多 RAM 之前,不要打开那么多 Facebook 标签。
至于如何正确关机,您可以尝试 REISUB 序列(http://kember.net/articles/reisub-the-gentle-linux-restart/)。否则,您可能就只能冒险对系统进行电源循环了。