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記憶體
- JavaScript記憶體分配JavaScript記憶體
- JVM記憶體分配JVM記憶體
- java記憶體分配Java記憶體
- 垃圾收集器與記憶體分配策略_記憶體分配策略記憶體
- 記憶體分配的確定記憶體
- weblogic的記憶體分配Web記憶體
- 記憶體的分配與釋放,記憶體洩漏記憶體
- JVM 記憶體模型 記憶體分配,JVM鎖JVM記憶體模型
- 探索iOS記憶體分配iOS記憶體
- Java 記憶體分配策略Java記憶體
- java jvm 記憶體分配JavaJVM記憶體
- 動態記憶體分配記憶體
- [C++]記憶體分配C++記憶體
- 簡單理解動態記憶體分配和靜態記憶體分配的區別記憶體
- C語言的記憶體分配C語言記憶體
- 物件的建立與記憶體分配物件記憶體
- go是如何分配記憶體的?Go記憶體
- 控制C++的記憶體分配C++記憶體
- 記憶體分配的隱藏成本記憶體
- Oracle的記憶體分配和使用Oracle記憶體
- C語言-記憶體管理之一[記憶體分配]C語言記憶體
- java基礎-記憶體分配Java記憶體
- C語言-記憶體分配C語言記憶體
- java-方法記憶體分配Java記憶體
- go記憶體分配器Go記憶體
- Java 堆疊記憶體分配Java記憶體
- 記憶體分配策略學習記憶體
- 記憶體分配方式 (轉)記憶體
- Go記憶體分配和GC的理解Go記憶體GC
- oracle9i 的記憶體分配Oracle記憶體
- Oracle的記憶體的分配、回收[final]Oracle記憶體
- mimalloc記憶體分配程式碼分析記憶體
- 深度理解glibc記憶體分配記憶體
- 記憶體分配問題處理記憶體
- 【Java】 記憶體分配全面淺析Java記憶體
- JVM GC 與 記憶體分配策略JVMGC記憶體