小编Kit*_*dia的帖子

PHP OPcache 自动重置缓存

我开始使用 PHP 5.6 内置的 PHP OPcache,现在面临一个问题。我将其设置为最多使用 1 GB RAM,这对于我的网站来说已经足够了,但它永远无法使用完整的 1 GB RAM。在分配此限制之前,缓存会被清除多次,如您在 munin 图上看到的那样:

\n\n

在此输入图像描述\n在此输入图像描述

\n\n

因此,每隔几天它就会从缓存中删除所有文件,然后重新开始缓存它们。

\n\n

首先我认为问题出在变量上opcache.max_wasted_percentage,但它并不关心我设置的值。我的配置如下:

\n\n
; configuration for php ZendOpcache module\n; priority=05\nzend_extension=opcache.so\nopcache.enable = 1\nopcache.enable_cli = 1\nopcache.memory_consumption = 1024\nopcache.interned_strings_buffer = 128\nopcache.blacklist_filename = /etc/php5/opcache_blacklist.txt\nopcache.max_accelerated_files = 65407\nopcache.revalidate_freq = 5\nopcache.fast_shutdown = 1\nopcache.max_wasted_percentage = 50\nopcache.enable_file_override = 1\n
Run Code Online (Sandbox Code Playgroud)\n\n

我\xe2\x80\x99m在带有nginx和FastCGI的最新Debian Jessie环境中使用它。

\n\n

我想实现只有当内存消耗达到 1 GB 时才清除缓存。我已经尝试过一个非常小的配置,如下所示:

\n\n
; configuration for php ZendOpcache module\n; priority=05\nzend_extension=opcache.so\nopcache.enable = 1\nopcache.enable_cli = 1\nopcache.memory_consumption = 1024\n
Run Code Online (Sandbox Code Playgroud)\n\n

即便如此,问题仍然存在。

\n\n

如果需要 FPM 配置:

\n\n
user …
Run Code Online (Sandbox Code Playgroud)

php memory php-fpm opcache

5
推荐指数
1
解决办法
3765
查看次数

标签 统计

memory ×1

opcache ×1

php ×1

php-fpm ×1