1. 程式人生 > >ThinkPHP3.2 記憶體不足,導致伺服器掛機

ThinkPHP3.2 記憶體不足,導致伺服器掛機

最近專案中,執行tp專案的apache伺服器更加頻繁的宕機,今天查閱了下資料,說這個記憶體不足導致的。

形成原因:thinkphp在程序執行過程中,會觸發記錄日誌(log.class.php的record的方法),在記錄系統日誌時,thinkphp先是給所有日誌資訊記錄在記憶體裡(log.class.php中的$Log變數陣列),最後一次性寫入檔案,這樣做的目的主要是減少open file的次數,提高寫Log的效率。當系統日誌資訊積累的過多時,程序佔用記憶體空間就會越來越大了。

解決方法:1.修改record方法,可以定期100批量儲存一次日誌到磁碟,同時釋放Log

      

     2.優化apache伺服器的程序

                  3.使用好和較大的記憶體

 

 

參考網站:https://blog.csdn.net/qq1509334304/article/details/82775414