pckcachesz -“程序包高速缓存大小”配置参数
此参数是在数据库共享内存之外分配的,并且用于高速缓存数据库上的静态和动态 SQL 和 XQuery 语句的部分。
- 配置类型
- 数据库
- 参数类型
- 可联机配置
- 可由 Db2® pureScale® 环境中的成员配置
- 传播类
- 立即
- 缺省值 [范围]
- 32 位操作系统
- 自动 [-1, 32 - 128 000]
- 64 位操作系统
- 自动 [-1, 32 - 2 147 483 646]
- 计量单位
- 页 (4 KB)
- 分配时间
- 当初始化数据库时
- 释放时间
- 当数据库关闭时
在 分区数据库 系统中,每个数据库分区都有一个程序包高速缓存。
- 数据库关闭
- 程序包或动态 SQL 或 XQuery 语句无效
- 高速缓存空间用完。
静态或动态 SQL 或 XQuery 语句节的高速缓存可提供性能,尤其是在与数据库连接的应用程序多次使用同一个语句时。 这在事务处理环境中特别重要。
当此参数设置为 AUTOMATIC 时,就启用了自调整功能。 当 self_tuning_mem 设置为 ON 时,内存调整器将在工作负载要求更改时动态调整 pckcachesz 控制的内存区的大小。 由于内存调整器在不同内存使用者之间交换内存资源,所以,必须至少有两个内存使用者启用自调整功能才能使自调整功能有效。
仅当对数据库启用了自调整内存功能(self_tuning_mem 配置参数设置为 ON)时,才会自动调整此配置参数。
当此参数设置为 -1 时,用来计算页分配的值是为 maxappls 配置参数指定的值的 8 倍。 例外情况是 maxappls 的 8 倍小于 32。 在这种情况下,缺省值 -1 将 pckcachesz 设置为 32。
建议:当调整此参数时,应考虑如果为程序包高速缓存保留的额外内存是为另一目的分配的(如缓冲池或目录高速缓存),它是否会更有效。 因此,应在调整此参数时使用基准程序技术。
当最初使用几节,而后只有少数几节反复运行时,调整此参数就特别重要。 如果高速缓存太大,那么因保存初始节的副本而浪费内存。
- pkg_cache_lookups(程序包高速缓存查询数)
- pkg_cache_inserts(程序包高速缓存插入数)
- pkg_cache_size_top(程序包高速缓存高水位标记)
- pkg_cache_num_overflows(程序包高速缓存溢出)
pckcachesz 参数指定的限制是软限制。 如果数据库共享集合中还有可用的内存,如果有必要的话,可以超过该限制。 可使用 pkg_cache_size_top 监视元素确定程序包高速缓存达到的最大值,并用 pkg_cache_num_overflows 监视元素确定超过了由 pckcachesz 参数指定的限制的多少倍。