自动自调整内存概述
DB2 V9的自动自调整内存功能能够简化若干个内存配置参数的调整。除了简化内存配置任务之外,此新增的自适应的自调整内存功能通过提供更高的配置来提高性能,该配置可以动态响应工作负载特征中出现的重要变化。自调整内存管理器使用智能控制和反馈机制来跟踪工作负载特征、内存消耗以及对数据库中各种共享资源的需求的变化,并根据需要动态调整它们对内存的使用。例如,如果排序操作需要更多的内存,而一些缓冲池又有多余的内存,那么内存管理器会释放多余的缓冲池内存,并将它分配给排序堆。
缺省情况下,已对单一分区数据库启用自调整内存功能,并对多分区数据库禁用此功能。也就是说,在 V9.1 中创建单一分区数据库时,self_tuning_mem 数据库配置参数会自动设置为 ON,如果不需要启用自调整内存管理器,则可在创建数据库之后通过将 self_tuning_mem 配置参数设置为 OFF 来关闭该管理器;在 DPF 系统上不会默认启用自调整内存管理器。
在 Windows® 和 AIX® 平台上(也仅在这两个平台上),自调整内存功能还可确定数据库内存的总需求,并会动态地对数据库共享内存的总体使用情况进行调整。这使数据库管理器可以根据工作负载的需要消耗更多物理内存,而在数据库内存需求降低时将这些内存释放到操作系统中。
另外,如果将数据库从 V8 迁移至 V9.1,则不会自动启用此功能。要在已迁移的数据库中使用此功能,必须手工启用它。可以通过将 self_tuning_mem 配置参数设置为 ON 并将下列某些或全部配置参数设置为 AUTOMATIC 来启用自调整内存:
•pckcachesz
•locklist 和maxlocks
•sortheap 和sheapthres_shr
•database_memory(其 AUTOMATIC 设置仅在 AIX® 和 Windows® 操作系统上受支持。在其他平台上,database_memory 的缺省值是 COMPUTED)。
自适应的自调整内存功能通过自动设置内存配置参数值以及调整缓冲池大小来简化内存配置任务。启用此功能后,内存调整器就会在几个内存使用者(包括:排序、程序包高速缓存、锁定列表和缓冲池)之间动态地分配可用内存资源。
可以对下列内存使用者启用自调整(把相应的参数设置为 AUTOMATIC):
•缓冲池(由 ALTER BUFFERPOOL 和 CREATE BUFFERPOOL 语句指定AUTOMATIC属性)。
•程序包高速缓存(由 pckcachesz 配置参数控制)。
•锁定内存(由 locklist 和 maxlocks 配置参数控制)。
•排序内存(由 sheapthres_shr 和 sortheap 配置参数控制)。
•数据库共享内存(由 database_memory 配置参数控制)。
接下来我们通过具体的例子来看一下如何使用自动自调整内存。
DB2 V9自动自调整内存详解
0
相关文章