《DB2性能管理与实战》——2.3 STMM介绍

简介:

本节书摘来自异步社区出版社《DB2性能管理与实战》一书中的第2章,第2.3节,作者: IBM中国开发中心(CDL) 信息管理软件开发部,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.3 STMM介绍

DB2性能管理与实战
在DB2 V9以后,引入了一种新的内存自动调优特性,叫做自调内存管理(STMM)。它通过自动设置几个内存配置参数值的方式,简化了内存配置任务。内存自动调优一旦启动,就能够在内存使用者(包括排序、程序包缓存、锁定列表和缓冲池等)之间动态分配可用内存资源。

调整器在DATABASE_MEMORY配置参数所定义的内存限制范围内工作。此参数的值也可以自动调整。启用自调整功能(将DATABASE_MEMORY的值设置为AUTOMATIC)之后,调整器将确定数据库的整体内存需求,并根据当前数据库需求来增加或减少分配给数据库共享内存的内存量。例如,如果当前数据库需求很高,并且系统上有足够的可用内存,那么将为数据库共享内存分配较多的内存。如果数据库内存需求下降,或者系统上的可用内存量变得过低,那么将释放一些数据库共享内存。

如果DATABASE_MEMORY配置参数未设置为AUTOMATIC,那么数据库将使用对此参数指定的内存量,从而根据需要在内存使用者之间分配内存。可以通过两种方法来指定此内存量:将DATABASE_MEMORY设置为某个数值将其设置为COMPUTED。在后一种情况下,总内存量基于数据库启动时的数据库内存堆初始值之和。

还可以对内存使用者启用自调整功能,如下所示。

boll 对于缓冲池,使用ALTER BUFFERPOOL或CREATE BUFFERPOOL语句(指定AUTOMATIC关键字)。

boll 对于锁定内存,使用LOCKLIST或MAXLOCKS数据库配置参数(指定AUTOMATIC值)。

boll 对于程序包高速缓存,使用PCKCACHESZ数据库配置参数(指定AUTOMATIC值)。

boll 对于排序内存,使用SHEAPTHRES_SHR或SORTHEAP数据库配置参数(指定AUTOMATIC值)。

自调整操作所作的更改将记录在stmmlog子目录的内存调整日志文件中。这些日志文件包含每个内存使用者在特定调整时间间隔内的资源需求摘要,这些时间间隔由日志条目中的时间戳记确定。

如果可用内存量不多,那么自调整功能的性能增益有限。由于调整决策基于数据库工作负载,因此内存需要快速变化的工作负载可能会限制自调整内存管理器(STMM)的效能。如果工作负载的内存特征不断变化,那么STMM将以较低的频率在多变的目标条件下进行调整。在这种情况下,STMM将无法实现绝对汇合,而是尝试维护针对当前工作负载进行调整的内存配置。

本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

相关文章
|
7月前
|
SQL 人工智能 数据可视化
NineData:帮助您更好地利用Db2数据库
NineData SQL 开发功能提供了对 Db2 数据源的支持,这是一个可视化、集成 AI、多云多环境、拥有企业级协同能力的 Db2 解决方案。无论您是个人开发者还是团队,都可以通过 NineData 平台一站式管理您的 Db2 数据源。
30 0
NineData:帮助您更好地利用Db2数据库
|
SQL 关系型数据库 数据库
【玩转DB2】二、DB2联邦详细操作和踩坑
建立联邦(建立数据库与数据库联系与问题) 有问题可以找小可玩,评论留言。什么是联邦??建立和另外一个库的关系,换句话说就是我可以在这个库查到另外一个库的表。 本地库连目标数据库1、登陆本地服务器数据库 切换到对应的用户:su - 本地库用户名 连接本地库:db2 connect to 本地库 user 本地库用户名 using 本地用户密码 2、开启联邦支持开启联邦支持,查看数据库管理配置文件,FEDERATED属性 db2 get dbm cfg 如联邦属性为NO, 则需开启属性,重启数据库。
3579 0
|
SQL 监控 关系型数据库
|
关系型数据库 数据库 数据库管理
|
关系型数据库 MySQL 测试技术
|
SQL 关系型数据库 数据库
【DB2学习】迁移数据之EXPROT
db2 => connect to sample   数据库连接信息  数据库服务器         = DB2/NT 9.5.0 SQL 授权标识         = YANG 本地数据库别名       = SAMPLEdb2 => export to d:\employee.
924 0
|
关系型数据库 数据库 数据库管理
自己开发DB2工具 (10)
好久没有给Db2工具添加新功能了。可能是最近太忙有或者工具刚好可以满足我工作的需要。这次新添加了找出分区键设置不正确的功能  只要输入 架构名 和 表的筛选名就可以了,占比 = 数据量/节点数 看到这里DBA应该可以看出,上图的数据库是4个节点的。
679 0