OOMK杀死mysql和apache的时候还有很多 mem

可能重复:
避免Linux内存不足的应用程序被拆卸

让我先说我是新的ti * nix系统,甚至更多的服务器pipe理。 无论如何,我有一个小问题。 我得到1GB内存的VPS,系统是Debian 6.我有几个网站运行,虽然有些负载只能由其中之一造成。 最近,OOMK开始杀死mysql,导致wp和phpbb给出了无法连接到mysql服务器的错误。 错误本身是不好的,特别是如果它发生在晚上,站点变得不可用,直到我醒来,重新启动MySQL。 我可能在我的cron坏行,这可能是所有原因(再次,我是新来的)

*/20 * * * * sync; echo 3 > /proc/sys/vm/drop_caches 

那么,如果你需要任何信息,让我知道,因为我不知道哪些信息可以在这里有用。 另外,我想知道是否还不错,有上面的cron任务。

运行echo 3 > /proc/sys/vm/drop_caches 。 由于Linux内存不足,它将自动删除缓冲区和caching,所以通过强制删除有用的I / Ocaching,实际上会损害系统性能。

你真的需要看看可能消耗所有内存的东西。 看看以下可能的罪魁祸首:

  1. Apache – 最大客户端或服务器数量太高。 我假定你正在前叉模式下运行。
  2. PHP – 最大内存,最大上传量,数据库连接数
  3. 每晚cron工作,像slocate
  4. Mysql内存使用情况。

UPD MySQL可能会被OOMKiller杀死,但实际上并不是原因。 它可能只是最大的单个内存消费者。

轻松修复:在服务器中放置更多的内存。

但问题是为什么服务器内存不足。 你在使用InnoDB吗? 缓冲池的大小是否合适? 等等。需要更多的信息来帮助你,从htop和mysql日志的输出开始。