Memcached允许的内存大小耗尽

时间:2015-11-05 09:50:28

标签: apache2 memcached ubuntu-14.04 capistrano3 php-5.6

每次在我的网络应用程序中请求页面时,我都会在错误日志中收到此信息:

PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 1463227 bytes) in /var/www/releases/20151104184006/vendor/doctrine/cache/lib/Doctrine/Common/Cache/MemcachedCache.php on line 96

我已经使用apache2和PHP 5.6.14部署到Ubuntu 14.04.1 LTS上。我正在使用Capistrano使用capistrano-memcached 1.0部署和设置memcached。我将内存设置为512 MB。我也试过1024 MB,但它对这个问题没有影响。

我已经安装https://github.com/lagged/memcache.php来帮助调试问题,我已经加载了几个页面来触发缓存,这是输出:

常规缓存信息

PHP Version 5.6.14-1+deb.sury.org~trusty+1
Memcached Host  1.127.0.0.1:11211
Max Memcache Size   1.1 GBytes
Memcache Server Information
127.0.0.1:11211 Flush server
Memcache Version    Array
Start Time  2015/11/05 10:56:30
Uptime  26 minutes
Memcached Server Version    1.4.14 (Ubuntu)
Used Cache Size 905.8 KBytes
Max Cache Size  1.1 GBytes
Current Connections Count   9
Total Connections So Far    69
Flush CMD count 0
Get CMD count   1393
Set CMD count   390
Items Evicted So Far    0
Bytes Read So Far   964.3 KBytes
Bytes Written So Far    1.9 MBytes
Threads 4
127.0.0.1:11211 Reset stats
Host Status Diagrams
Cache Usage Hits & Misses
Free 1.1 GBytes (99.9%)
Hits 1284 (92.2%)
Used 905.8 KBytes (0.1%)
Misses 109 (7.8%)

缓存信息

Current Items(total)    390 (390)
Hits    1284
Misses  109
Request Rate (hits, misses) 0.89 cache requests/second
Hit Rate    0.82 cache requests/second
Miss Rate   0.07 cache requests/second
Set Rate    0.25 cache requests/second

1 个答案:

答案 0 :(得分:0)

PHP致命错误:允许的内存大小为134217728字节。 (134217728/1024)/ 1024 == 128MB。错误是php内存限制,而不是memcached。

128 MB通常就足够了,但我要检查您是否正确设置了PHP内存设置并重新启动Apache。另外,看看你是否能确切地找出触发这个的代码。你可能有一些庞大的数据结构并不需要如此庞大。