我最近遇到了一个非常烦人的效果:当 Xen DomU 上的进程显然消耗了所有可用的 RAM/swap(这是我的假设;问题的根源可能在其他地方)时,DomU 锁定,变得完全没有响应,并且唯一的使其重新联机的方法是登录到 Dom0 并销毁/重新创建 VM。DomU 控制台日志的典型部分如下:
[88751.207692] INFO: task cron:1318 blocked for more than 120 seconds.
[88751.207717] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[88875.710604] Out of memory: kill process 1315 (apache2) score 51765 or a child
[88875.710655] Killed process 1315 (apache2)
Dom0 是 Debian Lenny;DomU 是 Ubuntu Jaunty。Xen 版本是 3.1。
- 什么可能导致这种行为?
- 我应该做哪些测试来帮助解决这个问题?
- 哪些配置选项(例如 Dom0 和 DomU 之间的 RAM 或 VCPU 分配)可以解决问题?
sar
(sysstat) 可以帮助您确定哪个进程正在消耗所有 RAM,如果您还不知道的话。