关于查看、DBHEAP的方法

我用db2 get db cfg for warehous |grep DBHEAP 查出来结果是 Database heap (4KB)                            (DBHEAP) = AUTOMATIC(5387),
用db2mtrk -i -d -v查出warehous的结果是
Database Heap is of size 68419584 bytes,
请问大神,这2个为什么差挺多的,用db2mtrk查出来的比get查出来的最大值还大。
参与8

7同行回答

李英杰李英杰数据库技术专家烁林软件
回复 6# lzhibin1984     我的理解是AUTOMATIC(5387)中的5387为启动数据库管理器时需要的最小量。显示全部
回复 6# lzhibin1984


    我的理解是AUTOMATIC(5387)中的5387为启动数据库管理器时需要的最小量。收起
系统集成 · 2015-03-11
浏览900
李英杰李英杰数据库技术专家烁林软件
信息中心关于DBHEAP的说明如下,希望对你有帮助每个数据库有一个数据库堆,并且数据库管理器代表所有连接至数据库的应用程序使用数据库堆。它包含表、索引、表空间和缓冲池的控制块信息。它还包括日志缓冲区的空间(logbufsz)和实用程序使用的临时内存。因此堆大小将取决于许多...显示全部
信息中心关于DBHEAP的说明如下,希望对你有帮助

每个数据库有一个数据库堆,并且数据库管理器代表所有连接至数据库的应用程序使用数据库堆。它包含表、索引、表空间和缓冲池的控制块信息。它还包括日志缓冲区的空间(logbufsz)和实用程序使用的临时内存。因此堆大小将取决于许多变量。控制块信息保存在堆中,直到所有应用程序与数据库断开连接为止。

启动数据库管理器时需要的最小量是在第一次连接时分配的。数据区将根据需要扩展,直到达到所配置的上限,或者在设置为 AUTOMATIC 的情况下,直到耗尽所有 database_memory 和/或 instance_memory 内存为止。

决定要对 dbheap 配置参数指定的值时,可以使用以下公式作为一个粗略的准则:
    10K/表空间 + 4K/表 + (1K + 4*使用的扩展数据块)/范围集群表(RCT)
您配置的 dbheap 值仅表示分配的一部分数据库堆。数据库堆是用于满足全局数据库内存需求的主内存区。它将调整大小,以便除了包括 dbheap 值外,还包括启动数据库所需的基本分配值。用于报告内存使用情况的工具(如内存跟踪程序、快照监视器和 db2pd)将报告较大的那个数据库堆的统计信息。不会单独跟踪 dbheap 配置参数所表示的分配值。因此,这些工具所报告的数据库堆内存使用情况的统计信息超过为 dbheap 参数配置的值是很正常的。

可以使用数据库系统监视器并借助 db_heap_top(分配的最大数据库堆)元素来跟踪用于数据库堆的最大内存量。收起
系统集成 · 2015-03-11
浏览890
lzhibin1984lzhibin1984系统运维工程师长威科技
回复 3# 北京鼎新智联    您的意思是automatic(5387)中的5387是下次重启的时候分配的值吗?我以为是DBHEAP最大出现到多大值。显示全部
回复 3# 北京鼎新智联


   您的意思是automatic(5387)中的5387是下次重启的时候分配的值吗?我以为是DBHEAP最大出现到多大值。收起
系统集成 · 2015-03-10
浏览922
张东焕张东焕技术总监IBM官方授权讲师
配置的 dbheap 值仅表示分配的一部分数据库堆。数据库堆是用于满足全局数据库内存需求的主内存区。它将调整大小,以便除了包括 dbheap 值外,还包括启动数据库所需的基本分配值。用于报告内存使用情况的工具(如内存跟踪程序、快照监视器和 db2pd)将报告较大的那个数据库堆的统...显示全部
配置的 dbheap 值仅表示分配的一部分数据库堆。数据库堆是用于满足全局数据库内存需求的主内存区。它将调整大小,以便除了包括 dbheap 值外,还包括启动数据库所需的基本分配值。用于报告内存使用情况的工具(如内存跟踪程序、快照监视器和 db2pd)将报告较大的那个数据库堆的统计信息。不会单独跟踪 dbheap 配置参数所表示的分配值。因此,这些工具所报告的数据库堆内存使用情况的统计信息超过为 dbheap 参数配置的值是很正常的。收起
IT咨询服务 · 2015-03-10
浏览891
新数科技新数科技IT顾问北京新数科技有限公司
应该是db2mtrk是准确的,dbcfg不准确,你可以用select memory_pool_used, memory_pool_used_hwm from table (mon_get_memory_pool(null,null,null)) where memory_pool_type='DATABASE'来查看,这个是准确的,看是不是和db2mtrk相同。The dbheap value that you configure repre...显示全部
应该是db2mtrk是准确的,dbcfg不准确,你可以用
select memory_pool_used, memory_pool_used_hwm
from table (mon_get_memory_pool(null,null,null))
where memory_pool_type='DATABASE'
来查看,这个是准确的,看是不是和db2mtrk相同。


The dbheap value that you configure represents only a portion of the database heap that is allocated. As documented, an extra amount is added to the database heap to account for critical requirements. Therefore, it is normal for database heap memory usage to exceed the user-configured value for the dbheap parameter.
You can monitor your database heap usage by using the MON_GET_MEMORY_POOL table function. For example, the following query:

select memory_pool_used, memory_pool_used_hwm
from table (mon_get_memory_pool(null,null,null))
where memory_pool_type='DATABASE'

Returns the values of memory_pool_used and memory_pool_used_hwm in KB units:

MEMORY_POOL_USED     MEMORY_POOL_USED_HWM
-------------------- --------------------
           140574           140574

  1 record(s) selected.

You can also use the db2pd -db -mempools command to monitor database heap usage.收起
IT咨询服务 · 2015-03-10
浏览917
李英杰李英杰数据库技术专家烁林软件
get db cfg 不是当前实际的值,是下次重启时分配的值,db2mtrk 看到的才是当前具体分配值的大小显示全部
get db cfg 不是当前实际的值,是下次重启时分配的值,db2mtrk 看到的才是当前具体分配值的大小收起
系统集成 · 2015-03-10
浏览960
masalymasaly其它易诚
The dbheap value that you configure represents only a portion of the database heap that is allocated. The database heap is the main memory area used to satisfy global database memory requirements. It is sized to include basic allocations needed for t...显示全部
The dbheap value that you configure represents only a portion of the database heap that is allocated. The database heap is the main memory area used to satisfy global database memory requirements. It is sized to include basic allocations needed for the startup of a database in addition to the dbheap value. Tools which report memory usage such as Memory Tracker, Snapshot Monitor, and db2pd report the statistics of this larger database heap. There is no separate tracking of the allocations that are represented by the dbheap configuration parameter. Therefore, it is normal for the statistics on database heap memory usage reported from these tools to exceed the configured value for the dbheap parameter.


DBHEAP current pool size can be monitored using various commands such as db2pd -mempools -db , db2mtrk -d , SYSIBMADM.SNAPDB_MEMORY_POOL adminsitrative function or SNAP_GET_DB_MEMORY_POOL table function.收起
软件开发 · 2015-03-10
浏览927

提问者

lzhibin1984
系统运维工程师长威科技

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2015-03-10
  • 关注会员:1 人
  • 问题浏览:4323
  • 最近回答:2015-03-11
  • X社区推广