![内存不足时虚拟机冻结](https://linux22.com/image/1446655/%E5%86%85%E5%AD%98%E4%B8%8D%E8%B6%B3%E6%97%B6%E8%99%9A%E6%8B%9F%E6%9C%BA%E5%86%BB%E7%BB%93.png)
我使用 virtualbox 在 Windows 8 64 位机器上运行 Ubuntu 64 位虚拟机(4 个 CPU、8GB RAM、1GB 交换空间)。
我经常发现,当我执行一些内存密集型操作(通常仅使用 1 或 2 个 CPU 核心)时,虚拟机将完全锁定,主机上会报告高磁盘使用率。这不是内存使用率缓慢增加的情况,而是内存使用率呈指数级增长的情况。这看起来像是由于交换而导致的磁盘抖动。但考虑到我的交换与我的 RAM 相比非常小,这肯定只会导致内存不足错误,并且 OOM 杀手应该启动,除非我每次都能神奇地达到物理和虚拟限制之间的内存需求?
当这种情况发生时,知道发生了什么或如何恢复系统吗?
答案1
按 SysRq-K 运行 OOM 杀手。
我不太清楚它的具体工作原理,我找不到有关此功能的任何文档。但是,系统日志表明 OOM 杀手已运行,并且系统再次恢复响应。