Ignite報堆外記憶體OOM,最直接原因是現在是純堆外記憶體儲存,沒有持久化
資料量太大導致堆外記憶體不足,從而導致OOM,開發、測試環境排查可以先給比較大的記憶體,啟動起來,透過如下兩個sql查詢真實資料量和佔用記憶體大小來排查;
如果是長期方案:
1、建議合理評估資料量,針對堆外記憶體進行配置,針對資料量進行控制;
2、在服務啟動資料載入和執行過成功,可以定時統計資料量和堆外記憶體佔用,並監控堆外記憶體使用情況進行告警
3、可以嘗試開啟持久化(儲存到磁碟),如果是雲環境,需要把容器內磁碟掛載到物理伺服器上
SELECT * FROM SYS.METRICS WHERE DESCRIPTION='Local cache size.'
SELECT * FROM SYS.METRICS WHERE DESCRIPTION='Total size of memory allocated for group, in bytes.'