国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

webman + phpSpreadSheet 大數(shù)據(jù)導(dǎo)出內(nèi)存異常問題

iqige

如題,在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),沒法貼代碼了。

2466 5 1
5個(gè)回答

six

http://www.wtbis.cn/doc/webman/others/memory-leak.html
按照手冊說法,php申請完的內(nèi)存不一定立刻歸還給操作系統(tǒng),會(huì)留著復(fù)用提高性能,試下請求完畢后調(diào)用 gc_mem_caches() 釋放內(nèi)存呢

  • iqige 2022-05-25

    gc_mem_caches()這個(gè)也試過了,能夠釋放一些,但是大部分沒辦法釋放

  • six 2022-05-25

    再加一個(gè) gc_collect_cycles() 試下

  • six 2022-05-25

    不過你一個(gè)請求就7,80M內(nèi)存占用,還是把php.ini里的memory_limit提高才好

  • iqige 2022-05-25

    對呀,現(xiàn)在就是加大了memory_limit,還能勉強(qiáng)撐一會(huì),加了gc_collect_cycles這個(gè)也沒啥效果。不行后面就用fpm了。感謝。

liziyu

yield 這個(gè)不曉得合不合適,試試看!~

  • 暫無評論
evilk

mark一下
難道沒有其他解決方案了嗎?

  • 暫無評論
yzh52521
  • 暫無評論
年代過于久遠(yuǎn),無法發(fā)表回答
??