記一次laravel 內存泄漏

先說一下背景
計劃任務跑laravel腳本,結果發現內存蹭蹭的上漲,很快爆內存不夠用錯誤,看了下數據大概3萬左右
腳本會循環執行數據庫操作
先上一張內存使用的圖,隨着循環執行,內存一直不釋放,直到爆出內存不夠用的錯誤

使用  memory_get_usage() 獲取程序執行內存

經過各種排查,各種刪除變量,還是沒用,最後終於排查出來是因爲  DB::connection()->enableQueryLog(); 這貨引起的,把它去掉以後,程序正常執行,內存沒有再泄漏

在laravel的github issue裏面,也有人問過同樣的問題,還是需要多看官方文檔和issue,不過更重要的是要學會分析排查問題的方式和方法,調試工具 xdebug 和 tideways_xhprof 要學會利用起來

 

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