4
這是爲什麼發生?GAE在處理請求後不釋放內存?
我運行一個使用大量內存的任務 - 任務完成後,我會期待內存被釋放回實例。
但是,這不會發生。內存只是在後續執行任務時不斷上升,直到最終得到軟內存警告。
我該怎麼辦?這只是沒有意義。我曾嘗試明確呼籲gc.collect()
但這沒有幫助。
這是爲什麼發生?GAE在處理請求後不釋放內存?
我運行一個使用大量內存的任務 - 任務完成後,我會期待內存被釋放回實例。
但是,這不會發生。內存只是在後續執行任務時不斷上升,直到最終得到軟內存警告。
我該怎麼辦?這只是沒有意義。我曾嘗試明確呼籲gc.collect()
但這沒有幫助。
就像dragonx寫的那樣,每一個被運行的處理器,每一個全局變量,導入都被緩存在GAE上,所以你的實例運行多長時間。您可以重新配置您的應用設置,以更快地創建新實例並殺死舊的實例。這會給你一點機會來減少這種錯誤。 由於內存泄漏,該錯誤不必填充。許多人認爲這會影響到這一點,所以你應該檢查你的代碼,嘗試重新配置你的實例設置,也許你應該改變你的實例類型爲高級。
您需要顯示一些代碼。 –
你的任務是否導入了很多東西? GAE緩存進口。 – Bugs
@Bugs好吧,新信息 - 但爲什麼後續運行的任務會再次增加內存使用量? – HorseloverFat