《DB2性能管理与实战》——2.1 内存概览

2.1 内存概览

DB2性能管理与实战
DB2内存管理器将操作系统中的内存分配为内存集。DB2的内存集(memory set)有以下4种,如图2-1所示。

boll 实例(数据库管理器)共享内存(instance shared memory)。

boll 数据库共享内存(database shared memory)。

boll 应用程序组共享内存(application group shared memory)。

boll 代理私有内存(agent private memory)。

每种内存集由不同的内存池(亦称堆)组成。图2-1显示了数据库管理器为不同用途分配的各个内存区,以及允许用户控制这些内存区的大小的配置参数。注意,在分区数据库环境中,每个数据库分区都将设置自己的数据库管理器共享内存。

DB2 V9.7以后可以通过MON_GET_MEMORY_SET表函数获取数据库实例和数据库内存使用情况,如下所示。

SELECT varchar(memory_set_type, 20)as set_type,
   varchar(db_name, 20)as dbname,
   memory_set_used,
   memory_set_used_hwm
  FROM TABLE(
   MON_GET_MEMORY_SET(NULL, CURRENT_SERVER,-2))

输出如下所示。

SET_TYPE   DBNAME     MEMORY_SET_USED MEMORY_SET_HWM_USED
--------------------------------------------------------------
DBMS    -          86080     87360
FMP   -          0       704
PRIVATE   -          10624     16256
DATABASE   TESTDB      928000      928000
APPLICATION  TESTDB       1472      2752

  5 record(s)selected

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

时间: 2024-09-10 08:56:35

《DB2性能管理与实战》——2.1 内存概览的相关文章

《DB2性能管理与实战》——2.6 DB2 pureScale环境中内存管理

2.6 DB2 pureScale环境中内存管理 DB2性能管理与实战 本节将要介绍与pureScale特性相关的内存管理,可以对比前面的单节点环境下的内存管理,来分析它们之间的异同点.本节为学习后续章节中的相关案例奠定了基础. 2.6.1 集群高速缓存设施 在DB2 pureScale环境中,又引入了集群高速缓存设施(CF),CF将不同内存堆用于以下用途. 1.组缓冲池内存 组缓冲池内存被用于DB2pureScale实例的组缓冲池.如果以一致方式将此类型的内存用至最大已配置能力,那么可能会对性

《DB2性能管理与实战》——2.2 数据库管理器共享内存

2.2 数据库管理器共享内存 DB2性能管理与实战 数据库管理器共享内存由若干个不同的内存区组成,可使用配置参数控制这些区域的大小.图2-2显示了数据库管理器共享内存的分配方式. 2.2.1 实例(数据库管理器)共享内存 每个DB2实例都有一个实例共享内存.实例共享内存是在数据库管理器启动(db2start)时分配的,并随着数据库管理器的停止(db2stop)而释放.这种内存集用于实例级的任务,例如监控.审计和节点间通信.下面的数据库管理器配置(dbm cfg)参数控制着对实例共享内存以及其中个

《DB2性能管理与实战》——2.2 共享内存与私有内存

2.2 共享内存与私有内存 DB2性能管理与实战 至此,已经讨论了实例共享内存.数据库共享内存和应用程序组共享内存以及代理私有内存.但是共享内存和私有内存的意义是什么呢? 为了理解共享内存与私有内存之间的不同之处,首先通过快速阅读DB2进程模型来了解一下DB2代理进程.在DB2中,所有数据库请求都是由DB2代理或子代理来服务的.例如,当一个应用程序连接到一个数据库时,就有一个DB2代理指派给它.当该应用程序发出任何数据库请求(例如一个SQL查询)时,该代理就会执行完成这个查询所需的所有任务--它

《DB2性能管理与实战》——2.4 多分区下的内存管理特性

2.4 多分区下的内存管理特性 DB2性能管理与实战在分区数据库环境中使用自调整内存功能时,有一些因素决定该功能是否能适当地调整系统. 对分区数据库启用自调整内存功能时,会将一个数据库分区指定为调整分区,所有内存调整决定都根据该数据库分区的内存和工作负载特征作出.在该分区中作出调整决策之后,会将内存调整纷纷到其他数据库分区,以确保所有数据库分区都维护类似的配置. 单调整分区模型假定,仅当所有数据库分区具有类似内存需求时,才会使用该功能.在确定顶是否对分区数据库启用自调整内存功能时,请使用下列准则

《DB2性能管理与实战》——第2章 DB2内存管理

第2章 DB2内存管理 DB2性能管理与实战数据库的性能管理受系统中的可用资源量.充分利用和共享可用资源的程度等因素的影响.理解DB2如何使用内存,可以优化内存的使用,防止过度分配内存或者内存分配不足,从而获得更好的性能并且避免资源的浪费.本章将介绍DB2的内存工作原理和进行内存管理的要点,使读者能够对DB2的内存模型有一个清晰的认识,为理解后续章节中的优化工作做准备. 本文仅用于学习和交流目的,不代表异步社区观点.非商业转载请注明作译者.出处,并保留本文的原始链接.

《DB2性能管理与实战》导读

前言 DB2性能管理与实战多年来,DB2在各行各业大中型企业中受到青睐.面对这些企业的海量数据,DB2数据库给用户提供了一些命令行的监控和分析工具,例如SNAPSHOT.DB2TOP.DB2PD.DB2ADVIS等.它们能为DBA在分析DB2性能问题时提供非常丰富和有价值的信息,从而解决很多棘手的问题.随着企业业务和规模的扩展以及日积月累的时间效应,企业数据库中的数据越来越庞大,在线的并发用户越来越多,随之而来的各种性能问题层出不穷,企业对改善性能监控和优化的效果必然会提出越来越高.越来越迫切的

《DB2性能管理与实战》——4.1 DB2性能相关参数

4.1 DB2性能相关参数 DB2性能管理与实战 本节讲述在DB2中应当注意的一些与性能相关的配置参数,包括注册表参数.数据库管理器参数和数据库参数.和内存相关的参数请参见第2章,这里不再赘述. 4.1.1 注册表参数 1.DB2_OVERRIDE_BPF 这个变量以页为单位指定在激活数据库.前滚恢复或崩溃恢复时要创建的缓冲池大小.当内存约束导致在激活数据库.前滚恢复或崩溃恢复期间出现故障时,此选项很有用.出现内存不足可能是因为实内存短缺(这种情况很少发生):或者因为数据库管理器试图在没有精确配

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

2.3 STMM介绍 DB2性能管理与实战 在DB2 V9以后,引入了一种新的内存自动调优特性,叫做自调内存管理(STMM).它通过自动设置几个内存配置参数值的方式,简化了内存配置任务.内存自动调优一旦启动,就能够在内存使用者(包括排序.程序包缓存.锁定列表和缓冲池等)之间动态分配可用内存资源. 调整器在DATABASE_MEMORY配置参数所定义的内存限制范围内工作.此参数的值也可以自动调整.启用自调整功能(将DATABASE_MEMORY的值设置为AUTOMATIC)之后,调整器将确定数据库

《DB2性能管理与实战》——2.5 缓冲池管理

2.5 缓冲池管理 DB2性能管理与实战在介绍数据库共享内存的时候,讲到了数据库缓冲池,这里介绍一下缓冲池的工作原理. 缓冲池指的是从磁盘读取表和索引数据时,数据库管理器分配的用于高速缓存这些表或索引数据的主存储器区域.每个DB2数据库都必须具有一个缓冲池. 每个新数据库都定义了一个称为IBMDEFAULTBP的缺省缓冲池.可以使用CREATE BUFFERPOOL.DROP BUFFERPOOL和ALTER BUFFERPOOL语句来创建.删除和修改缓冲池.SYSCAT.BUFFERPOOLS