記錄一個項目開發部署中遇到的一個問題,處理經驗總結。
問題:
我們的項目使用的是Angular6 + Spring boot + redis + mycat結構,項目部署在容器里面,項目正式部署以后,發現內存一直在升高,以至於使服務器內存幾乎所剩無幾,服務器上運行的其他內存就被迫終止了。
解決策略:
限制單個容器內存使用上限,當達到這個上限時,會主動進行垃圾回收,清理垃圾,釋放內存。
技術實現:
在容器中運行鏡像時候 添加 -m xxM 限制,如下:
1 docker run -tid --name idata_v0.0.0.9 -p 19007:8080 -m 400m --restart=always idata_v0.0.0.9
測試結果:
容器實際運行內存不會超過400M