我的开发服务器遇到了内存问题。由于这是开发环境,因此该服务器上几乎没有流量,但 Apache 却生成了大量进程并占用了大量内存?
我在这个服务器上开发了 wordpress 网站,但它们都位于 http 身份验证层之后,所以我认为这不可能是暴力攻击……
mysql 也使用了大量内存。
当我运行 memstat 时,mysql 使用了 1,095,660K - 这对于 mysql 来说似乎是一大堆内存
https://drive.google.com/file/d/0Bz4W2EsvOZtUSEp5UHFnelRTRTA/edit?usp=sharing
其余部分被路径 (/usr/lib/apache2/mpm-prefork/apache2) 中的大量 apache 进程所用。
我不知道为什么当这是一个流量很少的开发服务器时,apache 会使用这么多内存。
知道为什么 apache 和 mysql 占用的内存如此之高吗?
答案1
您的 Apache 配置在配置文件中有一个相应的部分,您可以在其中指定预先生成多少个 httpd 进程。这样,即使在没有流量的网站上,您也可以预先生成特定数量的进程。
您可能需要重新访问该部分并降低值。您可以在此处获取更多信息:http://httpd.apache.org/docs/2.2/mod/prefork.html
您还可以检查 Apache 日志文件,以确保您的服务器没有受到攻击。
MySQL 也是如此。您可能需要尝试另一个 my.cnf 文件来处理较小的实例。MySQL 附带一些预设,因此您可以尝试 my-small.cnf 或类似文件。您还可以使用 mysqltuner 脚本获取有关 MySQL 内存的一些信息:http://mysqltuner.com/