简介
【程序编程相关:Sun OpenSPARC项目发布两项新】 【推荐阅读:Novell发布新版桌面Linux】理解 db2 如何使用内存,可以防止过度分配内存,并有助于对内存的使用进行调优,从而获得更好的性能.本文将向您传授 db2 内存使用的基础,以及共享内存与私有内存的概念.这些内容同时适用于 32 位与 64 位的系统.虽然对于 64 位系统有一些限制,但是在未来的一段时间内还不大可能触及这些限制.因此,我们将焦点放在影响 32 位系统的内存限制,并对之进行详细的讨论. 【扩展信息:iPod上运行Linux操作系统】
我们首先讨论一般情况下 db2 如何使用内存,接着讨论内存管理如何随着平台(aix.sun.hp.linux 与 windows)的不同而变化,以及它们对 db2 的影响.最后,我们将给出一些实际生活中客户处境/问题以及他们的解决方案的有意义的例子.本文的内容适用于 db2 version 8.
db2 内存结构概述
图 1中说明了 db2 内存结构.这种内存结构在所有平台上都是一致的. 注意:在多分区环境中,下面的图适用于多分区实例中的每个分区.
图 1 - db2 内存结构
560)this.style.width=560; onmousewheel = javascript:return big(this) height=371 alt="" src="http://images.51cto.com/files/uploadimg/20051201/1025090.jpg" width=550>db2 在 4 种不同的内存集(memory set)内拆分与管理内存.这 4 种内存集分别是:
实例共享内存(instance shared memory) 数据库共享内存(database shared memory) 应用程序组共享内存(application group shared memory) 代理私有内存(agent private memory)每种内存集由各种不同的内存池(亦称堆)组成.图 1 也给出了各内存池的名称.例如, locklist是属于数据库共享内存集的一个内存池. sortheap是属于代理私有内存集的一个内存池.
我们将详细讨论每一种内存集.
实例共享内存
... 下一页