文档主页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
手册页 (TGZ) - 258.2Kb
手册页 (Zip) - 365.3Kb
信息 (Gzip) - 4.0Mb
信息 (Zip) - 4.0Mb


MySQL 9.0 参考手册  /  ...  /  MLE 组件内存和线程使用

7.5.6.3 MLE 组件内存和线程使用

可以通过检查 Mle_heap_statusMle_memory_used 状态变量的值来获取 MLE 组件的内存分配和使用信息。在组件通过创建或执行使用 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 的最大并发物理线程数。