我在一些 ubuntu 服务器配置中发现我的服务器上的内存(在线资源说默认值通常是 128Mb 正确吗?)
我发现这个列表
memory_limit = -1
为什么?-1 值有什么作用?php 5.6
答案1
来自官方文档这里:
这设置了允许脚本分配的最大内存量(以字节为单位)。这有助于防止编写不当的脚本耗尽服务器上的所有可用内存。请注意,要不受内存限制,请将此指令设置为 -1。
答案2
memory_limit = -1
简单来说就是“没有内存限制”,意思是:让脚本使用操作系统和其他重要进程运行剩下的内存。因此,如果机器有 4GIG,而操作系统 + 其他进程使用 2GIG,那么您的脚本将获得剩余的 2GIG。
来自官方文档,重要的是最后一句话!
内存限制 int
这设置脚本允许分配的最大内存量(以字节为单位)。这有助于防止编写不当的脚本耗尽服务器上所有可用内存。请注意,若要不受内存限制,请将此指令设置为 -1。
我所说的内存是指“RAM 和虚拟内存”
答案3
不要这样做。显然 php 某处存在内存泄漏,而您告诉服务器只使用它想要的所有内存。问题根本没有得到解决。如果您监控服务器,您会发现它现在可能正在使用大部分 RAM,甚至交换到磁盘。