PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 1441792 bytes) in /www/wwwroot/s-route/vendor/workerman/workerman/Connection/TcpConnection.php on line 372
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 1441792 bytes) in /www/wwwroot/s-route/vendor/workerman/workerman/Connection/TcpConnection.php on line 372
Worker process terminated with ERROR: E_ERROR "Allowed memory size of 134217728 bytes exhausted (tried to allocate 1441792 bytes) in /www/wwwroot/s-route/vendor/workerman/workerman/Connection/TcpConnection.php on line 372"
求大佬看下这是内存溢出导致的么?
有什么办法解决么?
[attach]2042[/attach]
[attach]2043[/attach]
我也是同样的问题,希望大佬指点
内存分配调大点看看 php.ini文件 memory_limit
没用,内存一直累加,不知道是啥原因
你分配的才128M 设置大点还没用么
还有作者大大,加qq群一直没人通过
群号:260671135
1
TcpConnection.php发生内存报错应该是快速给所有客户端发送大数据导致的,看报错
tried to allocate 1441792 bytes
一个连接尝试申请 1M+的内存。如果快速地给很多客户端推送数据,客户端又无法接收或无法及时接收(例如客户端没有接收,或切到后台无法接收、服务器带宽不够等),这些数据都会积压在内存,导致内存使用升高到php.ini设置的极限值报错。想象下给200连接同时推送1M的数据,服务器瞬间带宽需要1G+,如果服务器带宽没有这么大就会堆积在内存,可能产生报错。
解决办法优化业务不要发大数据或者不要一直无限制发送数据,加大内存,加大带宽等。
当然如果内存报错不是发生在TcpConnection.php,可能是有其它问题。
学习了
谢谢大佬回复
大佬,爆内存进程退出后,占用的内存释放吗?服务器的16G的,开着守护进程时间长了都跑满了,wokerman重启也是这样的,内存就是一直累积,好多php进程,一直达到最大进程数,一个php进程最大都400+m..小白不怎么懂,大佬不嫌弃再回复下,不胜感激
进程退出后内存会释放