MLE 元件的記憶體配置和使用資訊可以透過檢查 Mle_heap_status
和 Mle_memory_used
狀態變數的值來取得。記憶體直到建立或執行使用 JavaScript 的儲存程式來啟動元件時才會配置。這表示在元件啟動之前,Mle_heap_status
的值為 Not Allocated
,而 Mle_memory_used
的值為 0
。當元件啟動時,Mle_heap_status
應該為 Allocated
,而 Mle_memory_used
應該為 0 到 100(包含)範圍內的整數;後者變數表示 MLE 元件使用的記憶體佔配置給它的記憶體量的百分比,並四捨五入到最接近的整數。如果需要回收不再使用的記憶體,Mle_heap_status
也可以是 Garbage Collection
。
預設情況下,配置給 MLE 元件的記憶體量為 64MB (67108864 位元組)。您可以透過設定 mle.memory_max
系統變數來調整此值,最大值為 8GB (8589934592 位元組);最小值為 32MB。在增加此值時,您應該記住,必須保留足夠的記憶體供 MySQL 伺服器其他用途使用,並讓系統程序正常運作。
將 mle.memory_max
設定為大於系統上總記憶體的值會導致未定義的行為。
您只能在元件不活動時變更配置給 MLE 元件的記憶體量。若要在安裝時將配置設定為非預設值,請使用類似 INSTALL COMPONENT 'file://component_mle' SET GLOBAL mle.memory_max = 1024*1024*512
的陳述式,或在安裝後但在使用任何 JavaScript 儲存程式之前設定它。
您可以透過檢查 Mle_oom_errors
狀態變數的值來取得 MLE 儲存程式引發的記憶體不足錯誤次數。
如需有關多語言引擎元件使用的執行緒資訊,您可以查閱 Mle_threads
狀態變數,其中顯示目前附加到 GraalVM 的實體執行緒數。Mle_threads_max
顯示自元件啟動以來在任何時間點附加到 GraalVM 的同時實體執行緒最大數量。