由于内存不足,Xen DomU无响应

我最近遇到了一个非常恼人的结果:当一个在Xen DomU上的进程显然消耗了所有可用的内存/交换(这是我的假设;问题的根源可能在于其他地方),DomU锁死,变得完全没有响应,将其重新联机的方法是login到Dom0并销毁/重新创build虚拟机。 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。

  • 什么可能导致这种行为?
  • 我应该做些什么testing来帮助解决问题?
  • 什么configuration选项(如Dom0和DomU之间的RAM或VCPU分配)可以解决这个问题?

  • 什么可能导致这种行为? 软件,无论出于什么原因(错误,错误configuration,不精确的预测负载)咀嚼更多的内存比预期。
  • 我应该做些什么testing来帮助解决问题? 系统分析(如sar (sysstat))可以帮助您确定哪个进程占用了所有内存,如果您还不知道的话。
  • 什么configuration选项(如Dom0和DomU之间的RAM或VCPU分配)可以解决这个问题? 给domU更多的内存,或者更好的是安装一个健康的交换块。