目次
chunk
共享池中的 heap 堆和extent 区

sharedpool之一:heap/extent/chunk

Jun 07, 2016 pm 03:23 PM
heap

介绍shared pool物理结构的heap 堆,extent 区,chunk 内存中:共享池、大池、PGA是heap管理 chunk shared pool物理层面上由许多内存块组成,这些内在块称为chunk,chunk是shared pool中内存分配最小单位-类似extent,但是chunk是大小不一的,在内存中一个chunk

介绍shared pool物理结构的heap 堆,extent 区,chunk
\
内存中:共享池、大池、PGA是heap管理

chunk

shared pool物理层面上由许多内存块组成,这些内在块称为chunk,chunk是shared pool中内存分配最小单位-类似extent,但是chunk是大小不一的,在内存中一个chunk是连续的。
chunk属于可用类型的时候,既不属于library cache,也不属于dictionary cache,
如果chunk被用于存放SQL相关的数据时,则该chunk就属于library cache;
如果该chunk被用于存放数据字典的信息时,则该chunk就是属于dictionary
Chunk可以分为4类-或者叫4种状态:
1.free:chunk中没有有效的对象,可以不受限制的分配
2.recr:recreatable,--可重用的,chunk里面包含的对象可以被临时性的移 走,如果需要,可以重建,例如共享SQL语句
3.freeabl:--可释放的,session用过这个chunk,里面存放的对象数据是session 在处理过程中产生的,没有办法重建,这点不同于recr。因此这个chunk不能被临时性的移走。但是在合适的时间段可以被释放。
4.perm:permanent,--永久的SGA的固定对象等,chunk中包含永久性的对象,但是大型的permanent类型的chunk中可能包含可用空间,需要的时候,这些空间可以被释放。
查看Chunk的4种状态:--R-freea这种R开头的是在Reserved Area(保留区)中的chunk
SYS@ bys3>select distinct(ksmchcls) from x$ksmsp;
KSMCHCLS
--------
freeabl
recr
perm
R-freea
R-free
R-perm
free
R-recr
查询各种状态chunk的大小,chunk的平均大小
SYS@ bys3>select KSMCHCLS,count(*) ,round(sum( KSMCHSIZ/1024/1024),0) MB,round(avg(KSMCHSIZ),0) from x$ksmsp group by KSMCHCLS order by 1;
KSMCHCLS COUNT(*) MB ROUND(AVG(KSMCHSIZ),0)
-------- ---------- ---------- ----------------------
R-free 43 6 152374
R-freea 98 0 3915
R-perm 4 16 4111578
R-recr 1 4 3977200
free 1937 0 226
freeabl 5815 11 2057
perm 271 89 343653
recr 11127 13 1250
SYS@ bys3>desc x$ksmsp
Name
------------
ADDR --在内存中地址
INDX --
INST_ID --
KSMCHIDX --
KSMCHDUR --
KSMCHCOM --chunk描述
KSMCHPTR --
KSMCHSIZ --chunk大小
KSMCHCLS --
KSMCHTYP --
KSMCHPAR --
SYS@ bys3>select count(*) from x$ksmsp; --每个chunk在x$ksmsp中都有记录,可以统计出chunk数量
COUNT(*)
----------
18704
###################

共享池中的 heap 堆和extent 区

heap 堆由一个或多个大小不一的extent组成,extent由chunk组成
DUMP 共享池查看heap/extent/chunk结构:--用新建会话来做
alter session set events 'immediate trace name heapdump level 2';
select value from v$diag_info where name like 'De%';
/u01/diag/rdbms/bys3/bys3/trace/bys3_ora_7876.trc
查看TRACE文件内容: --找这一段的方法:VI搜索HEAP DUMP
******************************************************
HEAP DUMP heap name="sga heap" desc=0x200010b4
extent sz=0x7ad4 alt=124 het=32767 rec=9 flg=-126 opc=0
parent=(nil) owner=(nil) nex=(nil) xsz=0x0 heap=(nil)
fl2=0x60, nex=(nil)
ds for latch 1: 0x20030f24
reserved granule count 0 (granule size 4194304)
******************************************************
HEAP DUMP heap name="sga heap(1,0)" desc=0x20030f24
---heap name="sga heap(1,0)" 共享池中第1个子池 --高级堆的子缓冲区
extent sz=0xfc4 alt=124 het=32767 rec=9 flg=-126 opc=0
parent=(nil) owner=(nil) nex=(nil) xsz=0x400000 heap=(nil)
fl2=0x20, nex=(nil), dsxvers=1, dsxflg=0x0
dsx first ext=0x2c400000
latch set 1 of 1
durations disabled for this heap
reserved granules for root 0 (granule size 4194304)
EXTENT 0 addr=0x23c00000 ---EXTENT 0,向下搜索还有多个EXTENT的,一个EXTENT有多个Chunk
Chunk 23c00038 sz= 24 R-stopper "reserved stoppe"
Chunk 23c00050 sz= 14300 R-free " "
Chunk 23c0382c sz= 8224 R-freeable "KKSSP^38 " ds=0x23d8f480
Chunk 23c0a8e4 sz= 169732 R-free " "
Chunk 23c33fe8 sz= 24 R-stopper "reserved stoppe"
Chunk 23c34000 sz= 15776 perm "perm " alo=15776
Chunk 23c37da0 sz= 84 free " " -- free状态的CHUNK,23c37da0 内存地址,84字节,可以看到各chunk大小不一
Chunk 23c37df4 sz= 236 recreate "KGLHD " latch=(nil) ---recreate状态的CHUNK, latch=(nil) 没有latch
#####
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Alter Tableステートメントを使用してMySQLのテーブルをどのように変更しますか? Alter Tableステートメントを使用してMySQLのテーブルをどのように変更しますか? Mar 19, 2025 pm 03:51 PM

この記事では、MySQLのAlter Tableステートメントを使用して、列の追加/ドロップ、テーブル/列の名前の変更、列データ型の変更など、テーブルを変更することについて説明します。

MySQL接続用のSSL/TLS暗号化を構成するにはどうすればよいですか? MySQL接続用のSSL/TLS暗号化を構成するにはどうすればよいですか? Mar 18, 2025 pm 12:01 PM

記事では、証明書の生成と検証を含むMySQL用のSSL/TLS暗号化の構成について説明します。主な問題は、セルフ署名証明書のセキュリティへの影響を使用することです。[文字カウント:159]

人気のあるMySQL GUIツール(MySQL Workbench、PhpMyAdminなど)は何ですか? 人気のあるMySQL GUIツール(MySQL Workbench、PhpMyAdminなど)は何ですか? Mar 21, 2025 pm 06:28 PM

記事では、MySQLワークベンチやPHPMyAdminなどの人気のあるMySQL GUIツールについて説明し、初心者と上級ユーザーの機能と適合性を比較します。[159文字]

MySQLの大きなデータセットをどのように処理しますか? MySQLの大きなデータセットをどのように処理しますか? Mar 21, 2025 pm 12:15 PM

記事では、MySQLで大規模なデータセットを処理するための戦略について説明します。これには、パーティション化、シャード、インデックス作成、クエリ最適化などがあります。

ドロップテーブルステートメントを使用してMySQLにテーブルをドロップするにはどうすればよいですか? ドロップテーブルステートメントを使用してMySQLにテーブルをドロップするにはどうすればよいですか? Mar 19, 2025 pm 03:52 PM

この記事では、ドロップテーブルステートメントを使用してMySQLのドロップテーブルについて説明し、予防策とリスクを強調しています。これは、バックアップなしでアクションが不可逆的であることを強調し、回復方法と潜在的な生産環境の危険を詳述しています。

INNODBフルテキスト検索機能を説明します。 INNODBフルテキスト検索機能を説明します。 Apr 02, 2025 pm 06:09 PM

INNODBのフルテキスト検索機能は非常に強力であり、データベースクエリの効率と大量のテキストデータを処理する能力を大幅に改善できます。 1)INNODBは、倒立インデックスを介してフルテキスト検索を実装し、基本的および高度な検索クエリをサポートします。 2)一致を使用してキーワードを使用して、ブールモードとフレーズ検索を検索、サポートします。 3)最適化方法には、単語セグメンテーションテクノロジーの使用、インデックスの定期的な再構築、およびパフォーマンスと精度を改善するためのキャッシュサイズの調整が含まれます。

外国の鍵を使用して関係をどのように表現しますか? 外国の鍵を使用して関係をどのように表現しますか? Mar 19, 2025 pm 03:48 PM

記事では、外部キーを使用してデータベース内の関係を表すことで、ベストプラクティス、データの完全性、および避けるべき一般的な落とし穴に焦点を当てています。

JSON列にインデックスを作成するにはどうすればよいですか? JSON列にインデックスを作成するにはどうすればよいですか? Mar 21, 2025 pm 12:13 PM

この記事では、クエリパフォーマンスを強化するために、PostgreSQL、MySQL、MongoDBなどのさまざまなデータベースでJSON列にインデックスの作成について説明します。特定のJSONパスのインデックス作成の構文と利点を説明し、サポートされているデータベースシステムをリストします。

See all articles