Laravel7使用日志内存会一直往上增长最后导致泄漏,求大佬们指教~
(再次感谢各位大佬)问题已解决总结了详细排查过程移步:
blog.csdn.net/eight_eyes/article/d...
编写了一个常驻进程的脚本结果发现内存在不断上涨最后导致溢出,经过排查发现是日志的问题,之后做了一个测试如下:
代码部分:
Route::get('/aa', function () { for ($i = 0; $i < 1000; $i++) { Log::info('[INFO]:' . $i); Log::error('[ERROR]:' . $i); Log::notice('[NOTICE]:' . $i); Log::debug('[DEBUG]:' . $i); if ($i%100==0) { dump(memory_get_usage()); } } dump(memory_get_usage()); });
运行结果
4846848 5008736 5118264 5235984 5321256 5422592 5573080 5658032 5742984 5828256 5945368
由结果可以看出内存在不断上涨,想请教大佬们这个如何解决。
另附Xhprof结果:
第一次循环结果
第9次循环结果
不是\Illuminate\Database\Connection::$loggingQueries
的问题 这个值默认为false
本着谨慎的原则又测试了7、6、5.8的版本
7 运行结果
18716472
19361856
19443096
19540720
19621960
19686816
19817208
19882064
19947560
20045504
20109752
6运行结果
16602240 18525256 19333920 20197768 20940896 22069800 22681856 23293912 23894808 25817320
5.8运行结果
15944400 16231544 16233376 16235208 16237040 16238872 16240704 16242536 16244368 16246200 16248032
@No1Wei 改配置没用,只能卸载或者在 composer.json 中排除掉这个 ServiceProvider 的自动载入