log_buffer的記憶體分配規律
關於log_buffer的實驗
環境windows xp,Oracle9i Release 9.2.0.1.0 - Production
對於log_buffer的分配,在例項啟動以後,我們可以發現在v$parameter、v$sgastat、v$sga查詢的值是不一樣的。
select name, value/1024 from v$parameter where name='log_buffer';
select name, bytes/1024 from v$sgastat where name='log_buffer';
select name, value/1024 from v$sga where name='Redo Buffers';
v$parameter是我們可以自己設定的值,也可以設定為0,這時候,oracle降會以預設的最小值來設定v$sgastat的值,同時v$sga也是最小的值。下面的資料是在log_buffer引數值修改的過程中,其他兩個值對應變化的情況,從中也可以發現一些規律。
v$parameter v$sgastat v$sga
0 130 140
60k 130k 140k
78.5 144 152
80.5 146 156
87 152 160
89 154 164
90 155 164
91 156 164
92 157 168
101k 166k 176k
146.5k 276k 284k
176k 305k 316k
觀察上面的結果,我想我們可以這樣猜測:
v$sgastat的值是基於引數log_buffer的設定值,再根據一定的計算公式得到的。biti曾經說,v$sgastat是一組離散的組,如果是離散的值,那就應該是再某一個區間的log_buffer設定,對會對應同一個v$sgastat值,但事實上,我們看到log_buffer=87k-92k之間的變化可以看到,v$sgastat並不是一組離散的值。v$sgastat 再設定的時候會有最小值,在這個環境中,最小值為130k。
v$sga的值,則是根據v$sgastat的值,然後選擇再加上8k-11k的一個值,得到min(n*4k)的一個值。就是說得到的結果是4k的整數倍,也就是說v$sga是以4k的單位遞增的。
環境windows xp,Oracle9i Release 9.2.0.1.0 - Production
對於log_buffer的分配,在例項啟動以後,我們可以發現在v$parameter、v$sgastat、v$sga查詢的值是不一樣的。
select name, value/1024 from v$parameter where name='log_buffer';
select name, bytes/1024 from v$sgastat where name='log_buffer';
select name, value/1024 from v$sga where name='Redo Buffers';
v$parameter是我們可以自己設定的值,也可以設定為0,這時候,oracle降會以預設的最小值來設定v$sgastat的值,同時v$sga也是最小的值。下面的資料是在log_buffer引數值修改的過程中,其他兩個值對應變化的情況,從中也可以發現一些規律。
v$parameter v$sgastat v$sga
0 130 140
60k 130k 140k
78.5 144 152
80.5 146 156
87 152 160
89 154 164
90 155 164
91 156 164
92 157 168
101k 166k 176k
146.5k 276k 284k
176k 305k 316k
觀察上面的結果,我想我們可以這樣猜測:
v$sgastat的值是基於引數log_buffer的設定值,再根據一定的計算公式得到的。biti曾經說,v$sgastat是一組離散的組,如果是離散的值,那就應該是再某一個區間的log_buffer設定,對會對應同一個v$sgastat值,但事實上,我們看到log_buffer=87k-92k之間的變化可以看到,v$sgastat並不是一組離散的值。v$sgastat 再設定的時候會有最小值,在這個環境中,最小值為130k。
v$sga的值,則是根據v$sgastat的值,然後選擇再加上8k-11k的一個值,得到min(n*4k)的一個值。就是說得到的結果是4k的整數倍,也就是說v$sga是以4k的單位遞增的。
1、v$sgastat中log_buffer的值是連續的,不是離散的值。具體是根據引數log_buffer的設定來計算的。
2、v$sga的log bfuuer的值是一組以4k遞增的序列。具體的值是根據v$sgastat的值再加上8k到11k之間的一個值得到的。具體選擇8,9,10,11中的哪個,就是相加的結果被4整除為準。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10867315/viewspace-194840/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Pytorch視訊記憶體動態分配規律探索PyTorch記憶體
- hadoop 記憶體分配規則Hadoop記憶體
- 垃圾收集器與記憶體分配策略_記憶體分配策略記憶體
- 記憶體的分配與釋放,記憶體洩漏記憶體
- linux記憶體管理(一)實體記憶體的組織和記憶體分配Linux記憶體
- 動態記憶體分配記憶體
- C語言的記憶體分配C語言記憶體
- C中的記憶體分配模型記憶體模型
- java-方法記憶體分配Java記憶體
- go記憶體分配器Go記憶體
- java基礎-記憶體分配Java記憶體
- C語言-記憶體分配C語言記憶體
- 記憶體分配策略學習記憶體
- 深度理解glibc記憶體分配記憶體
- Netty 中的記憶體分配淺析Netty記憶體
- Go記憶體分配和GC的理解Go記憶體GC
- 【Java】 記憶體分配全面淺析Java記憶體
- JVM GC 與 記憶體分配策略JVMGC記憶體
- C++動態記憶體分配C++記憶體
- 記憶體分配問題處理記憶體
- mimalloc記憶體分配程式碼分析記憶體
- [20210126]探究oracle記憶體分配.txtOracle記憶體
- C程式記憶體的分配,const ,volatile,staticC程式記憶體
- [20191114]linux記憶體分配的討論.txtLinux記憶體
- new、delete、記憶體分配 的底層原理delete記憶體
- javascript堆疊記憶體分配的區別JavaScript記憶體
- MySQL 配置InnoDB的記憶體分配器MySql記憶體
- Python如何管理記憶體?記憶體分配機制是什麼?Python記憶體
- jvm:記憶體模型、記憶體分配及GC垃圾回收機制JVM記憶體模型GC
- MySQL記憶體管理,記憶體分配器和作業系統MySql記憶體作業系統
- 圖解Go語言記憶體分配圖解Go記憶體
- Android O 8.0 以上 bitmap記憶體分配Android記憶體
- v8記憶體分配淺談記憶體
- curl 中減少記憶體分配操作記憶體
- JVM 之 記憶體分配與回收策略JVM記憶體
- 深入理解golang:記憶體分配原理Golang記憶體
- Java記憶體區域與分配策略Java記憶體
- 【記憶體管理】頁面分配機制記憶體
- MySQL OOM 系列一 Linux記憶體分配MySqlOOMLinux記憶體