我的VPS没有响应,重启后一切正常。 为什么?

服务器似乎很忙,没有响应任何事情:SSH或Web请求。

它自动发生了几次,显然是我的系统有问题。

重新启动后,一切恢复正常,网站快速响应。 但是大概24小时后,它突然又陷入了同样的麻烦 – 非常忙碌,占用,没有任何反应,花了几十分钟才重新启动。

我不知道这可能是什么原因。 configuration错误? 我的PHP代码? 但是我的所有网站在前一个主机上都很好。

我的发行版是Debian 5.0。 我已经安装的东西:

  1. apache,mysql,php
  2. rsnapshot(一些cron作业)
  3. 后缀
  4. vsftpd(虽然自动停止)
  5. chkrootkit的
  6. 的fail2ban

任何人有任何线索? 可能是什么问题呢? 我需要查看哪些日志以查明哪个php脚本可能导致了问题?

很可能是内存泄漏 。 这有时会导致你所描述的那种问题。 如果交换内存,大量交换可能会严重减慢速度,甚至导致虚拟化不可用。 否则,OOM错误将会终止随机应用程序,并导致系统失败。

你最好的select是检查你的日志,看看是否有任何内核OOM错误。 否则,您可能需要考虑监视您的内存使用情况,看看它是否随着时间的推移变得太大。 一旦你确认了内存不足,你可以继续追踪引起它的违规程序。

更新:

避免交换的唯一方法是减less内存的足迹。 一种做法是通过改变您的应用程序和设置。 有些事情你可能要考虑:

  1. 将lighttpd / nginx等轻量级networking服务器转储到Apache。 减less处理脚本时产生的php实例的数量。
  2. 使用示例/usr/share/doc/mysql-server-5.0/example/my-small.cnfconfiguration文件configurationMySQL。 禁用networking,innodb,bdb以减less占用空间。
  3. configurationPHP将内存从默认的128Mb限制到您所需要的。
  4. 当它产生多个进程来处理内存时,Postfix可以吸收资源。 考虑到qmail或外包你的电子邮件服务器。

干杯。