1、什么是granule?

granule直译为颗粒,ORACLE为SGA 中的组件(eg:log buffer/db buffer/large pool等)分配的最小单元为一个granule. 所以Oracle SGA 的大小总是granule 的整数倍

2、granule在SGA组件的内存分配中是怎么应用的?

就是说,如果:

granule size 为4M,假定我们设置large pool的大小为9M,实际分配给large pool为3个granule,large pool的大小为12M。

granule size 为8M,假定我们设置large pool的大小为9M,实际分配给large pool为2个granule,large pool的大小为16M。

3、granule size怎么决定?

11g官方的解释:

Memory for the

shared pool, large pool, java pool, and buffer cache is allocated in units of granules.

The granule size is 4MB if the SGA size is less than 1GB. If the SGA size is greater than 1GB, the granule size changes to 16MB.

The granule size is calculated and fixed when the instance starts up.

The size does not change during the lifetime of the instance.

The granule size that is currently being used for SGA can be viewed in the view V$SGA_DYNAMIC_COMPONENTS.

The same granule size is used for all dynamic components in the SGA.

由此可见,

Granule Size在实例启动时被计算出来,并且在整个实例生命周期内是不可修改的,除非重启实例。

在11g中,如果sga小于1G,granule size默认设置为4M,如果sga大于1G,granule size为16M。

4、查看和修改granule size的方法。

(1)granule size由隐藏参数_ksmg_granule_size决定。

set lines  pages
col name for a30
col value for a30
col describ for a50
SELECT x.ksppinm NAME, y.ksppstvl VALUE, x.ksppdesc describ
FROM SYS.x$ksppi x, SYS.x$ksppcv y
WHERE x.indx = y.indx
AND x.ksppinm LIKE '%_ksmg_granule_size%';

(2)查看v$sgainfo可以看到当前granule size的大小。

set lines  pages
col RESIZEABLE for a20
select name,bytes// MB,RESIZEABLE from v$sgainfo where name='Granule Size';

(3)从v$sga_dynamic_componets视图中获取SGA中各组件的信息。

set lines  pages 200
col component for a30
alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
select
component,
CURRENT_SIZE// CUR_MB,
granule_size// GRANULE_MB,
min_size/1024/1024 MIN_MB,
max_size/1024/1024 MAX_MB,
LAST_OPER_TIME
from v$sga_dynamic_components;

COMPONENT  组件的名称。

CURRENT_SIZE  当前组件的大小。

MIN_SIZE  实例启动以来component最小时候的大小。

MAX_SIZE  实例启动以来component最大时候的大小。

GRANULE_SIZE  granule size的大小。

LAST_OPER_TIME  component大小上次被修改的时间(如果修改过于频繁,建议设置参数固定组件的大小)

(4)通过修改掩藏参数_ksmg_granule_size来修改granule size的大小。

alter system set "_ksmg_granule_size"=8388608 scope=spfile;

重启后生效

关于SGA中的granule size的更多相关文章

  1. iOS开发~UI布局(二)storyboard中autolayout和size class的使用详解

    一.概要:前一篇初步的描述了size class的概念,那么实际中如何使用呢,下面两个问题是我们一定会遇到的: 1.Xcode6中增加了size class,在storyboard中如何使用? 2.a ...

  2. iOS8开发~UI布局(二)storyboard中autolayout和size class的使用具体解释

    一.概要:前一篇初步的描写叙述了size class的概念,那么实际中怎样使用呢,以下两个问题是我们一定会遇到的: 1.Xcode6中添加了size class,在storyboard中怎样使用? 2 ...

  3. 一文读懂神经网络训练中的Batch Size,Epoch,Iteration

    一文读懂神经网络训练中的Batch Size,Epoch,Iteration 作为在各种神经网络训练时都无法避免的几个名词,本文将全面解析他们的含义和关系. 1. Batch Size 释义:批大小, ...

  4. String构造器中originalValue.length>size 发生的情况

    最近在看Jdk6中String的源码的时候发现String的有个这样的构造方法,源代码内容如下: public String(String original) { int size = origina ...

  5. Spark Streaming中动态Batch Size实现初探

    本期内容 : BatchDuration与 Process Time 动态Batch Size Spark Streaming中有很多算子,是否每一个算子都是预期中的类似线性规律的时间消耗呢? 例如: ...

  6. 连接字符串中Min Pool Size的理解是错误,超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。

    Min Pool Size的理解是错误的 假设我们在一个ASP.NET应用程序的连接字符串中将Min Pool Size设置为30: <add name="cnblogs" ...

  7. TCP 协议中的 Window Size与吞吐量

    原地址:http://blog.sina.com.cn/s/blog_c5c2d6690102wpxl.html TCP协议中影响实际业务流量的参数很多,这里主要分析一下窗口的影响. ​TCP窗口目的 ...

  8. Opencv Mat矩阵中data、size、depth、elemSize、step等属性的理解

    data: uchar类型的指针,指向Mat数据矩阵的首地址.可以理解为标示一个房屋的门牌号: dims: Mat矩阵的维度,若Mat是一个二维矩阵,则dims=2,三维则dims=3,大多数情况下处 ...

  9. C#非托管泄漏中HEAP_ENTRY的Size对不上是怎么回事?

    一:背景 1. 讲故事 前段时间有位朋友在分析他的非托管泄漏时,发现NT堆的_HEAP_ENTRY 的 Size 和 !heap 命令中的 Size 对不上,来咨询是怎么回事? 比如下面这段输出: 0 ...

随机推荐

  1. leetcode322

    public class Solution { public int coinChange(int[] coins, int amount) { ) ; ]; dp[] = ; ;i <= am ...

  2. xcode 自动签名原理

    签名的核心就是provision profile要与当前的bundle id及本地的私钥相匹配. teamid:每个开发者账号都会对应一个teamid.企业的开发这账号除了对应一个teamid外,下面 ...

  3. Mybaits

    1.Mybatis全注解形式  (在注解上不能直接使用动态Sql,必须要在前后面加上<script>SQL</script>标签,否则会报错): @Select("& ...

  4. 商品批量删除(mybatis中集合的使用)

    <!-- 根据主键批量删除 --> <delete id="deleteByKeys"> DELETE FROM product WHERE id in & ...

  5. Curator场景应用

    分布式锁功能: 在分布式场景中,我们为了保证数据的一致性,经常在程序运行的某一个点,需要进行同步操作,(java提供synchronized或者Reentrantlock实现), 使用curator基 ...

  6. SecureCRT问题

    使用SecureCRT 与虚拟机进行通信,提示The remote system refused the connection 解决:由于缺少SSH服务器端 sudo apt-get install ...

  7. FastFDS安装及简单使用

    1. FastDFS安装(ubuntu) 需要准备: nginx.fastdfs.libfastcommon.gcc.git apt-get update apt-get -y install mak ...

  8. AutoCAD开发3--修改文字图层,颜色

    Dim pText As AcadText Dim pColor1 As AcadAcCmColor Set pColor1 = Application.GetInterfaceObject(&quo ...

  9. tcp、ip、http

    tcp是传输层协议,ip是网络层协议,http是应用层协议,简单说就是tcp是传输数据,而http是封装数据. rpc与http的区别是项目大的话,接口间调用变多的话,采用rpc的话,不用像http那 ...

  10. 【APP测试(Android)】--交叉事件