为隔离模式 UDx 设置内存限制

Vertica 将调用隔离模式 UDx 的 Vertica::UDXFactory::getPerInstanceResources() 实施,以确定是否有足够的资源可用于运行包含该 UDx 的查询(请参阅向 Vertica 通知资源要求)。由于这些报告并非由实际内存使用生成,因此这些报告可能不准确。Vertica 启动某个 UDx 之后,该 UDx 实际分配的内存或文件句柄可能远远多于其报告的需求量。

使用 FencedUDxMemoryLimitMB 配置参数,您可以为 UDx 创建绝对内存限制。只要 UDx 尝试分配的内存数量超过此限制,就会生成 bad_alloc 异常。有关设置 FencedUDxMemoryLimitMB 的示例,请参阅如何强制执行资源限制