人大金仓分析型数据库资源组(三)

常见问题

CPU

  • 为什么CPU使用率低于为资源组配置的CPU_RATE_LIMIT?
        当资源组中运行的查询和片数较少时,可能会遇到这种情况,并且这些进程未使用系统上的所有核心。
  • 为什么资源组的CPU使用率高于配置的 CPU_RATE_LIMIT?      

        在下列情况下可能会发生这种情况:

  1.  当其他资源组空闲时,资源组可以使用比其CPU_RATE_LIMIT更多的CPU。在这种情况下,数据库将空闲资源组的CPU资源分配给更繁忙的资源组。
  2. 操作系统CPU调度程序可能导致CPU使用率出现峰值,然后下降。如果发生这种情况,请计算给定时间段内的平均CPU使用率(例如,5秒),并使用该平均值来确定CPU使用率是否高于配置的限制

内存 

  • 为什么查询返回为“内存不足”错误?

        在资源组中提交的事务失败并在内存使用超过其固定内存分配时退出,不存在可用资源组共享内存,并且事务请求更多内存

  • 为什么查询返回“达到内存限制”错误?
        当使用ALTER RESOURCE GROUP更改资源组的内存和/或并发限制时,数据库会自动将事务和组内存调整为新设置。如果更改了资源组属性并且当前正在运行的查询不再有足够的可用内存,则可能会出现内存不足错误
  • 为什么资源组的实际内存使用量超过为该组配置的数量?

        当从组中运行的一个或多个查询从全局共享内存池分配内存时,资源组的实际内存使用量可能超过配置的量。(如果没有可用的全局共享内存,查询将失败,并且不会影响其他资源组的内存资源。)当全局共享内存可用时,当事务溢出到磁盘时,内存使用量也可能超过配置的量。数据库语句在开始溢出到磁盘时继续请求内存,因为:

  1. 溢出到磁盘需要额外的内存才能工作
  2. 其他查询可能会继续请求内存

        当全局共享内存可用时,资源组最终可能最多使用其配置的组内存限制的200-300%。

并发

  • 为什么运行事务的数量低于为资源组配置的CONCURRENCY限制?

         数据库在运行事务之前考虑内存可用性,如果没有足够的内存可供服务,它将对事务进行排队。如果使用ALTER RESOURCE GROUP增加资源组的CONCURRENCY限制但不调整内存限制,则当前正在运行的事务可能会占用该组的所有分配的内存资源。处于此状态时,数据库会对资源组中的后续事务进行排队

  • 为什么资源组中正在运行的事务数高于配置的CONCURRENCY限制?

        资源组可能正在运行SET和SHOW命令,这些命令会绕过资源组事务检查 

 

 

 

 

你可能感兴趣的:(数据库)