如題,在webman里,用 phpSpreadSheet 導(dǎo)出又臭又長的數(shù)據(jù)(業(yè)務(wù)需要....),其中,還需要遍歷數(shù)據(jù)進(jìn)行處理(除了基本的數(shù)據(jù)外,還有幾個(gè)輔助的大數(shù)組)一個(gè)請求就基本漲7,80M的內(nèi)存,一個(gè)進(jìn)程沒處理幾次請求就換新的進(jìn)程了。(代碼里面沒有全局變量,沒有用到靜態(tài)數(shù)組之類的,處理的類都是通過new出來的,試過,unset掉內(nèi)存也沒太大變化)。請問下,這種情況應(yīng)該怎么排查,或者怎么釋放內(nèi)存。雖然workerman能夠自動(dòng)產(chǎn)生新的進(jìn)程,但是這樣進(jìn)程生成地也太頻繁了。。。
代碼在內(nèi)網(wǎng),沒法貼代碼了。
http://www.wtbis.cn/doc/webman/others/memory-leak.html
按照手冊說法,php申請完的內(nèi)存不一定立刻歸還給操作系統(tǒng),會(huì)留著復(fù)用提高性能,試下請求完畢后調(diào)用 gc_mem_caches() 釋放內(nèi)存呢
https://jqhph.github.io/easy-excel/docs/master/installation.html
這個(gè)也不錯(cuò)的