Apache 内存上限

Apache 内存上限

我有一个很大的 php 脚本,需要 1 GB 或更多才能运行。我将 php.ini 中的 memory_limit 设置为 2048M。如果我使用 ini_get 回显限制,我会得到预期的 2048M。但是当我运行脚本时,它会失败并显示只能分配 512mb。我的服务器上有 16GB 的 RAM,所以不是这个原因。一定还有其他地方设置了限制...?

答案1

PHP、Web 服务器进程也受每个进程最大内存限制的限制。在这种情况下,您必须请求管理员更改限制。在 Linux/Unix 上,您可以在 shell 中使用以下命令检查限制:

ulimit -a

或者使用 PHP 检查:

<?php print system('ulimit -a'); ?>

答案2

不知道 apache 有什么限制,但我知道 Linux 支持为进程设置资源限制。记不清具体细节了,但涉及的一个命令是 ulimit。

相关内容