WEB开发网
开发学院操作系统Linux/Unix 在 AIX 中运行 Oracle 性能方面的技巧和诀窍 阅读

在 AIX 中运行 Oracle 性能方面的技巧和诀窍

 2008-11-10 08:28:18 来源:WEB开发网   
核心提示: 内存在这个部分中,我们将回顾内存与 AIX 和 Oracle 之间的关系,在 AIX 中运行 Oracle 性能方面的技巧和诀窍(2),我们将讨论 AIX 如何使用虚拟内存,以及与 Oracle 之间的关系,对于 AIX 5.3 和更早的版本,我们将使用 vmo;在此之前,我们还将分析相关

内存

在这个部分中,我们将回顾内存与 AIX 和 Oracle 之间的关系。我们将讨论 AIX 如何使用虚拟内存,以及与 Oracle 之间的关系。我们还将分析相关的数据,并优化我们的子系统。

让我们首先从 VMM 开始。VMM 为系统中所有的内存请求(而不仅仅是虚拟内存的内存请求)提供服务,了解这一点是非常重要的。在访问 RAM 时,VMM 必须分配空间,即使系统中存在充足的物理内存。这一点经常令 DBA 和系统管理员感到困惑。使用一个称为分页空间预分配的过程,通过将段划分为页面,可以完成这项任务。这些页面可能是 RAM、或者分页空间(即存储于磁盘中的虚拟内存)。同时,VMM 维护了一个未分配页帧的空闲列表,可以使用该列表来处理缺页的问题。VMM 提供了一种页面置换算法,该算法用于分配页帧,以及确定应该将当前 RAM 中的哪些虚拟内存页面的页帧置换回空闲列表。

而且,AIX 操作系统将使用所有可供使用的内存,除了配置为不进行分配的,以及用于空闲列表的内存之外。很显然,在可以使用物理内存的情况下,管理员更希望使用物理内存,而不是分页空间。VMM 将内存段划分为两类:持久段和工作段。持久段使用文件内存,而工作段则使用计算性内存。对于我们来说,这意味着什么呢?在您的 SQL 查询访问数据库时,所使用的内存是计算性内存。这些都是工作段,并且将在该过程完成时终止。这些段没有真正的永久存储位置。另一方面,文件内存使用持久段,并且在磁盘中具有永久存储位置。通常它们将保存在内存中,直到偷取(置换)这些页面、或者回收数据库为止。同样,您希望将文件内存分页到磁盘中,而不是计算性内存中。

我们应该如何优化系统呢?有一个关键的参数需要介绍,那就是 Translation Lookaside Buffer (TLB)。因为像 Oracle 这样的应用程序会使用大量的虚拟内存,所以使用较大页面可以显著地提高性能。增加这个缓冲区的大小允许系统映射更多的虚拟内存,其结果是使得使用大量虚拟内存的应用程序(如 Oracle)的缺页率更低。这包括 OLTP 和数据仓库应用程序。Oracle 为它的 SGA 使用了较大的页面,因为主要占用虚拟内存的实际上正是 SGA。对于 AIX 5.3 和更早的版本,我们将使用 vmo;在此之前,我们使用的是 vmtune。

上一页  1 2 3 4 5 6 7  下一页

Tags:AIX 运行 Oracle

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接