EasyGBS安防視訊平臺出現記憶體異常暴漲是什麼原因?

語言: CN / TW / HK

EasyGBS是基於公安部推出的國標GB28181協議的視訊平臺,支援裝置以GB28181協議接入,能相容市面上的各種視訊源裝置,其強大的視訊能力既可以作為業務平臺,也能作為視訊能力平臺進行呼叫,有廣泛的應用場景,如明廚亮灶、雪亮工程、平安鄉村等。

一般來說,平臺執行時間長、或者是接入的裝置多,就會出現記憶體上升的情況。關於記憶體異常上升,我們在之前的文章中也提及過,感興趣的使用者可以翻看我們的往期文章。今天我們來分享另一個關於系統記憶體洩露的排查及解決辦法。

使用者現場伺服器記憶體為32G,EasyGBS平臺執行一天後,記憶體大概能漲到21G,並且通過Go語言中的pprof記憶體監測,查不到這塊洩露的記憶體。由此我們判斷,可能是底層庫出現的記憶體洩漏。

使用者現場為20路非按需裝置,並且裝置經常變換IP,導致裝置會經常重新拉流。根據這個具體的情況判斷,可能是在重新拉流時的邏輯判斷有問題,導致RTMP庫重複斷流或者推流,引起了記憶體暴漲情況。

於是針對使用者的具體情況,我們將裝置IP變換後只關閉流,在錄影計劃監測時只開啟拉流,這樣就不會出現重複關閉或開啟的情況。

IP變換時的程式碼邏輯:

在錄影計劃中判斷裝置是否推流:

修改後,使用者的現場版本執行3天11小時,記憶體僅佔用了4.1G,相對之前24小時記憶體漲到21G,效果很顯著。

隨著人工智慧應用的不斷落地應用,將前端邊緣計算、後端雲端計算、大資料平臺、視訊影象AI智慧分析技術相結合已經是當前安防視訊監控市場的發展方向。

TSINGSEE青犀視訊平臺也積極研發基於AI智慧檢測分析技術的視訊平臺應用,目前我們已經推出具有邊緣AI計算能力的安全生產攝像機,可實現的智慧檢測功能有安全帽檢測、工作服檢測、煙火檢測、人員入侵檢測、睡崗離崗檢測等,在企業的安全生產監管場景中可發揮重要作用。