记一次laravel 内存泄漏

先说一下背景
计划任务跑laravel脚本,结果发现内存蹭蹭的上涨,很快爆内存不够用错误,看了下数据大概3万左右
脚本会循环执行数据库操作
先上一张内存使用的图,随着循环执行,内存一直不释放,直到爆出内存不够用的错误

使用  memory_get_usage() 获取程序执行内存

经过各种排查,各种删除变量,还是没用,最后终于排查出来是因为  DB::connection()->enableQueryLog(); 这货引起的,把它去掉以后,程序正常执行,内存没有再泄漏

在laravel的github issue里面,也有人问过同样的问题,还是需要多看官方文档和issue,不过更重要的是要学会分析排查问题的方式和方法,调试工具 xdebug 和 tideways_xhprof 要学会利用起来

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章