如何限制 Apache 子进程的内存使用量?

如何限制 Apache 子进程的内存使用量?

— 是的,就是这么简单的问题。在死机的 mod_XxX(例如mod_php)应用程序中,消耗大量 RAM 太容易了,所以我只是想知道 Apache 允许采取什么对策。

答案1

Apache 不允许,但 PHP 允许在 php.ini 中限制使用的最大内存量。例如:

memory_limit = 128M

当然,如果有人达到这个限制,由于 PHP 嵌入到 Apache 中,实际使用的 RAM 量会略高一些。

答案2

shell功能ulimit(使用setrlimit系统功能)可以限制每个进程的内存使用。

在 Debian 机器上,可以通过将其添加到底部来完成/etc/default/apache2

ulimit -v 1048576

http://feeding.cloud.geek.nz/posts/putting-limit-on-apache-and-php-memory/

也可以看看

  • 手册 ulimit
  • 人setrlimit

答案3

我认为应该用评论中的这句话来回答:“没有一个(解决方案)。这完全取决于你使用的模块”©迈克尔·汉普顿

相关内容