每次在我的网络应用程序中请求页面时,我都会在错误日志中收到此信息:
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
答案 0 :(得分:0)
PHP致命错误:允许的内存大小为134217728字节。 (134217728/1024)/ 1024 == 128MB。错误是php内存限制,而不是memcached。
128 MB通常就足够了,但我要检查您是否正确设置了PHP内存设置并重新启动Apache。另外,看看你是否能确切地找出触发这个的代码。你可能有一些庞大的数据结构并不需要如此庞大。