如果我在php.ini中为一个函数设置了更高的值,例如为一个普通的电子商务web应用程序将2GB设置为opcache.memory_consumption,会发生什么情况。
opcache.memory_consumption = 2048下面是我的荚资源配置
resources:
limits:
cpu: "1"
memory: "1Gi"
requests:
cpu: "450m"
memory: "256Mi"如果我为OPcache本身设置了2GB。如果超过应用程序的实际内存限制,会发生什么情况。
发布于 2021-10-18 13:36:22
来自PHP手册
opcache.memory_consumption整型 OPcache使用的共享内存的大小(以兆字节为单位)。最小允许值为"8",如果设置了较小的值,则强制执行。
好的,那么共享内存存储是用来做什么的,为什么我们需要更多的共享内存呢?碰巧的是,尼基塔·波波夫( Nikita ),目前PHP内部最重要的开发人员之一,刚刚写了一篇关于opcache是如何工作的的博客文章。在详细讨论如何做到这一点之前,他总结如下:
opcache的主要目的是在共享内存中缓存编译工件,避免在每次执行时重新编译PHP脚本。
因此,内存用于缓存将PHP代码编译为内部使用的中间表示的结果。所需空间的大小将取决于您试图一次缓存多少编译代码。
我们怎么知道这是否足够?通过运行status()函数。如果内存已满,或几乎已满,那么您的一些脚本可能不会缓存,因为它们不适合内存。在这种情况下,增加配置的内存大小将通过缓存这些文件来提高性能。
如果内存已经有足够的空间,那么进一步增加内存大小除了阻止服务器将该内存用于其他事情之外,不会有任何不同。
https://stackoverflow.com/questions/69616828
复制相似问题