查閱代碼發(fā)現(xiàn)內(nèi)存達(dá)到重啟條件后執(zhí)行了posix_kill($pid, SIGINT);
,看起來并不是平滑的重啟
,隨后我對(duì)這個(gè)猜想進(jìn)行了驗(yàn)證
1、將重啟內(nèi)存閾值調(diào)低到30M
(memory_limit)
2、將內(nèi)存檢測(cè)周期由原來的60s
改為10s
3、程序內(nèi)有意加載更多的文件,并存儲(chǔ)于靜態(tài)數(shù)組中
以上3點(diǎn)都是在原規(guī)則下,盡快和頻繁的觸發(fā)內(nèi)存超限重啟
1、直接在觸發(fā)重啟的位置來個(gè)輸出
2、監(jiān)控進(jìn)程的內(nèi)存使用情況來核對(duì)觸發(fā)情況
3、壓測(cè)日志,在頻繁的重啟中出現(xiàn)了錯(cuò)誤的請(qǐng)求,概率是萬分之一,但是看人品,運(yùn)氣差第一輪就會(huì)掛一個(gè)請(qǐng)求
4、重啟日志
5、被壓測(cè)的文件和方法