ORACLE Granule 解释

原创 转载请注明出处

(学习笔记) Granule 是ORACLE SGA里面分配内存的最小单位,在NOMOUNT的阶段Granule 就会分配给SGA,Granule 分为3个状态:FREE OR invalid,initialized,allocated 如果我们的SGA小于128MB,Granule为4MB如果我们的SGA大于128MGranule为16MB。同时每个Granule包含BUFFER和BUFFER HEADER,BUFFER HEADER用来悬挂到 cache buffer chain list ,具体的大家可以看看 cache buffer chain 的结构,也就是经常出现的等待事件cache buffer chain 。同时我们可以查看到已经分配的Granule,使用如下语句:

 select GRANNUM, GRANTYPE, GRANSTATE, BASEADDR, GRANSIZE, GRANNEXT from x$ksmge;

我配置参数如下

sga_max_size big integer 2400M

sga_target big integer 2272M

SQL> select GRANNUM, GRANTYPE, GRANSTATE, BASEADDR, GRANSIZE, GRANNEXT from x$ksmge;
 
   GRANNUM   GRANTYPE GRANSTATE        BASEADDR   GRANSIZE   GRANNEXT
---------- ---------- ---------------- -------- ---------- ----------
         1          0 INVALID          21000000   16777216          0
         2          0 INVALID          22000000   16777216          1
         3          0 INVALID          23000000   16777216          2
         4          0 INVALID          24000000   16777216          3
         5          0 INVALID          25000000   16777216          4
         6          0 INVALID          26000000   16777216          5
         7          0 INVALID          27000000   16777216          6
         8          0 INVALID          28000000   16777216          7
         9          6 ALLOC            29000000   16777216          0
        10          6 ALLOC            2A000000   16777216          9
        11          6 ALLOC            2B000000   16777216         12
        12          6 ALLOC            2C000000   16777216         13
        13          6 ALLOC            2D000000   16777216         14
        14          6 ALLOC            2E000000   16777216         15
        15          6 ALLOC            2F000000   16777216         16
        16          6 ALLOC            30000000   16777216         17
        17          6 ALLOC            31000000   16777216         18
        18          6 ALLOC            32000000   16777216         19
        19          6 ALLOC            33000000   16777216         20
        20          6 ALLOC            34000000   16777216         10
 
   GRANNUM   GRANTYPE GRANSTATE        BASEADDR   GRANSIZE   GRANNEXT
---------- ---------- ---------------- -------- ---------- ----------
        21          6 ALLOC            35000000   16777216         22
        22          6 ALLOC            36000000   16777216         23
        23          6 ALLOC            37000000   16777216         24
        24          6 ALLOC            38000000   16777216         25
        25          6 ALLOC            39000000   16777216         26
        26          6 ALLOC            3A000000   16777216         27
        27          6 ALLOC            3B000000   16777216         28
        28          6 ALLOC            3C000000   16777216         29
        29          6 ALLOC            3D000000   16777216         30
        30          6 ALLOC            3E000000   16777216         11
        31          6 ALLOC            3F000000   16777216         32
        32          6 ALLOC            40000000   16777216         33
        33          6 ALLOC            41000000   16777216         34
        34          6 ALLOC            42000000   16777216         35
        35          6 ALLOC            43000000   16777216         36
        36          6 ALLOC            44000000   16777216         37
        37          6 ALLOC            45000000   16777216         38
        38          6 ALLOC            46000000   16777216         39
        39          6 ALLOC            47000000   16777216         40
        40          6 ALLOC            48000000   16777216         21
        41          6 ALLOC            49000000   16777216         42
 
   GRANNUM   GRANTYPE GRANSTATE        BASEADDR   GRANSIZE   GRANNEXT
---------- ---------- ---------------- -------- ---------- ----------
        42          6 ALLOC            4A000000   16777216         43
        43          6 ALLOC            4B000000   16777216         44
        44          6 ALLOC            4C000000   16777216         45
        45          6 ALLOC            4D000000   16777216         46
        46          6 ALLOC            4E000000   16777216         47
        47          6 ALLOC            4F000000   16777216         48
        48          6 ALLOC            50000000   16777216         49
        49          6 ALLOC            51000000   16777216         50
        50          6 ALLOC            52000000   16777216         31
        51          6 ALLOC            53000000   16777216         52
        52          6 ALLOC            54000000   16777216         53
        53          6 ALLOC            55000000   16777216         54
        54          6 ALLOC            56000000   16777216         55
        55          6 ALLOC            57000000   16777216         56
        56          6 ALLOC            58000000   16777216         57
        57          6 ALLOC            59000000   16777216         58
        58          6 ALLOC            5A000000   16777216         59
        59          6 ALLOC            5B000000   16777216         60
        60          6 ALLOC            5C000000   16777216         41
        61          6 ALLOC            5D000000   16777216         62
        62          6 ALLOC            5E000000   16777216         63
 
   GRANNUM   GRANTYPE GRANSTATE        BASEADDR   GRANSIZE   GRANNEXT
---------- ---------- ---------------- -------- ---------- ----------
        63          6 ALLOC            5F000000   16777216         64
        64          6 ALLOC            60000000   16777216         65
        65          6 ALLOC            61000000   16777216         66
        66          6 ALLOC            62000000   16777216         67
        67          6 ALLOC            63000000   16777216         68
        68          6 ALLOC            64000000   16777216         69
        69          6 ALLOC            65000000   16777216         70
        70          6 ALLOC            66000000   16777216         51
        71          6 ALLOC            67000000   16777216         72
        72          6 ALLOC            68000000   16777216         73
        73          6 ALLOC            69000000   16777216         74
        74          6 ALLOC            6A000000   16777216         75
        75          6 ALLOC            6B000000   16777216         76
        76          6 ALLOC            6C000000   16777216         77
        77          6 ALLOC            6D000000   16777216         78
        78          6 ALLOC            6E000000   16777216         79
        79          6 ALLOC            6F000000   16777216         80
        80          6 ALLOC            70000000   16777216         61
        81          6 ALLOC            71000000   16777216         82
        82          6 ALLOC            72000000   16777216         83
        83          6 ALLOC            73000000   16777216         84
 
   GRANNUM   GRANTYPE GRANSTATE        BASEADDR   GRANSIZE   GRANNEXT
---------- ---------- ---------------- -------- ---------- ----------
        84          6 ALLOC            74000000   16777216         85
        85          6 ALLOC            75000000   16777216         86
        86          6 ALLOC            76000000   16777216         87
        87          6 ALLOC            77000000   16777216         88
        88          6 ALLOC            78000000   16777216         89
        89          6 ALLOC            79000000   16777216         90
        90          6 ALLOC            7A000000   16777216         71
        91          6 ALLOC            7B000000   16777216         92
        92          6 ALLOC            7C000000   16777216         93
        93          6 ALLOC            7D000000   16777216         94
        94          6 ALLOC            7E000000   16777216         95
        95          6 ALLOC            7F000000   16777216         96
        96          6 ALLOC            80000000   16777216         97
        97          6 ALLOC            81000000   16777216         98
        98          6 ALLOC            82000000   16777216         99
        99          6 ALLOC            83000000   16777216        100
       100          6 ALLOC            84000000   16777216         81
       101          6 ALLOC            85000000   16777216        102
       102          6 ALLOC            86000000   16777216        103
       103          6 ALLOC            87000000   16777216        104
       104          6 ALLOC            88000000   16777216        105
 
   GRANNUM   GRANTYPE GRANSTATE        BASEADDR   GRANSIZE   GRANNEXT
---------- ---------- ---------------- -------- ---------- ----------
       105          6 ALLOC            89000000   16777216        106
       106          6 ALLOC            8A000000   16777216        107
       107          6 ALLOC            8B000000   16777216        108
       108          6 ALLOC            8C000000   16777216        109
       109          6 ALLOC            8D000000   16777216        110
       110          6 ALLOC            8E000000   16777216         91
       111          6 ALLOC            8F000000   16777216        112
       112          6 ALLOC            90000000   16777216        113
       113          6 ALLOC            91000000   16777216        114
       114          6 ALLOC            92000000   16777216        115
       115          6 ALLOC            93000000   16777216        116
       116          6 ALLOC            94000000   16777216        101
       117          4 ALLOC            95000000   16777216          0
       118          4 ALLOC            96000000   16777216        117
       119          3 ALLOC            97000000   16777216          0
       120          2 ALLOC            98000000   16777216          0
       121          1 ALLOC            99000000   16777216          0
       122          1 ALLOC            9A000000   16777216        121
       123          1 ALLOC            9B000000   16777216        122
       124          1 ALLOC            9C000000   16777216        123
       125          1 ALLOC            9D000000   16777216        124
 
   GRANNUM   GRANTYPE GRANSTATE        BASEADDR   GRANSIZE   GRANNEXT
---------- ---------- ---------------- -------- ---------- ----------
       126          1 ALLOC            9E000000   16777216        125
       127          1 ALLOC            9F000000   16777216        126
       128          1 ALLOC            A0000000   16777216        127
       129          1 ALLOC            A1000000   16777216        128
       130          1 ALLOC            A2000000   16777216        129
       131          1 ALLOC            A3000000   16777216        130
       132          1 ALLOC            A4000000   16777216        131
       133          1 ALLOC            A5000000   16777216        132
       134          1 ALLOC            A6000000   16777216        133
       135          1 ALLOC            A7000000   16777216        134
       136          1 ALLOC            A8000000   16777216        135
       137          1 ALLOC            A9000000   16777216        136
       138          1 ALLOC            AA000000   16777216        137
       139          1 ALLOC            AB000000   16777216        138
       140          1 ALLOC            AC000000   16777216        139
       141          1 ALLOC            AD000000   16777216        140
       142          1 ALLOC            AE000000   16777216        141
       143          1 ALLOC            AF000000   16777216        142
       144          1 ALLOC            B0000000   16777216        143
       145          1 ALLOC            B1000000   16777216        144
       146          1 ALLOC            B2000000   16777216        145
 
   GRANNUM   GRANTYPE GRANSTATE        BASEADDR   GRANSIZE   GRANNEXT
---------- ---------- ---------------- -------- ---------- ----------
       147          1 ALLOC            B3000000   16777216        146
       148          1 ALLOC            B4000000   16777216        147
       149          1 ALLOC            B5000000   16777216        148
 
149 rows selected

如果我们计算一下总的Granule大小为: 16*149= 2384MB 我这里有点怀疑LOG_BUFFER是否使用了Granule

LOG_BUFFER 15312896

刚好2384MB+15MB差不多就等于SGA_MAX_SIZE 而如果我们统计

GRANSTATE =‘ALLOC ’ 那就是 16*141=2256MB 基本也和 sga_target差不多。所以通过

select GRANNUM, GRANTYPE, GRANSTATE, BASEADDR, GRANSIZE, GRANNEXT from x$ksmge;

我们可以知道Granule的具体分配情况

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7728585/viewspace-620371/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/7728585/viewspace-620371/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值