知识大全 内存管理简介
Posted 知
篇首语:万事须己运,他得非我贤。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 内存管理简介相关的知识,希望对你有一定的参考价值。
对于oracle的内存的管理 截止到 iR 都是相当重要的环节 管理不善 将可能给数据库带来严重的性能问题 下面我们将一步一步就内存管理的各个方面进行探讨
l 概述
oracle的内存可以按照共享和私有的角度分为系统全局区和进程全局区 也就是SGA和PGA(process global area or private global area) 对于SGA区域内的内存来说 是共享的全局的 在UNIX上 必须为oracle设置共享内存段(可以是一个或者多个) 因为oracle在UNIX上是多进程 而在WINDOWS上oracle是单进程(多个线程) 所以不用设置共享内存段 PGA是属于进程(线程)私有的区域 在oracle使用共享服务器模式下(MTS) PGA中的一部分 也就是UGA会被放入共享内存large_pool_size中
对于SGA部分 我们通过sqlplus中查询可以看到
SQL> select * from v$sga;
NAME VALUE
Fixed Size
Variable Size
Database Buffers
Redo Buffers
Fixed Size
oracle 的不同平台和不同版本下可能不一样 但对于确定环境是一个固定的值 里面存储了SGA各部分组件的信息 可以看作引导建立SGA的区域
Variable Size
包含了shared_pool_size java_pool_size large_pool_size等内存设置和用于管理数据缓冲区等内存结构的hash table 块头信息(比如x$bh消耗内存)等
Database Buffers
指数据缓冲区 在 i中包含default pool buffer_pool_keep buffer_pool_recycle三部分内存 在 i中包含db_cache_size db_keep_cache_size db_recycle_cache_size db_nk_cache_size 这里要注意在 i中三部分内存总和为db_block_buffers*db_block_size
Redo Buffers
指日志缓冲区 log_buffer 在这里要额外说明一点的是 对于v$parameter v$sgastat v$sga查询值可能不一样 v$parameter里面的值 是指用户在初始化参数文件里面设置的值 v$sgastat是oracle实际分配的日志缓冲区大小(因为缓冲区的分配值实际上是离散的 也不是以block为最小单位进行分配的) v$sga里面查询的值 是在oracle分配了日志缓冲区后 为了保护日志缓冲区 设置了一些保护页 通常我们会发现保护页大小大约是 k(不同环境可能不一样) 参考如下内容
SQL> select substr(name ) name substr(value ) value
from v$parameter where name = log_buffer ;
NAME VALUE
log_buffer
SQL> select * from v$sgastat ;
POOL NAME BYTES
fixed_sga
buffer_cache
log_buffer
SQL> select * from v$sga;
NAME VALUE
Fixed Size
Variable Size
Database Buffers
Redo Buffers
cha138/Article/program/Oracle/201311/17604相关参考
代码最优化.NET中的内存管理 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在NET中内存管理
Java优化编程--内存管理 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 众所周知java的J
详解JVM的内存管理机制 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!我们在深入Java核心系列文
Java内存管理的9个小技巧 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 很多人都说Java完
自动内存管理机制深入剖析-C#分析篇 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在NETFr
浅析.NET框架下的自动内存管理 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一抽象类 抽象
Oracle9i的物理内存管理 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在Oraclei以
正式学习c#ASPNET已经有半年多了期间一直在忙一个项目很少有时间能够看看基础知识前两天看到一贴子突然发现自己的基础知识是如此的薄弱很多问题是知其然不知其所以然基础知识的缺失注定达不到你所想要的
众所周知jvm的内存是受限的一为机器的体系架构二为操作系统本身xxSPARC的内存映射是不同而各操作系统的内存管理机制也有区别以下是来自;Heap设定与垃圾回收JavaHeap分为个区Yo
内存管理系统常常被视为实现系统性能最优的一块主要绊脚石因此在过去的几年里Java应用环境对高效执行内存调优的需求急剧增长受此影响JVM供应商开始一哄而上提供配置内存的特殊选项获取最优内存性能——没有中