SQL 语句高速缓存池大小和当前高速缓存大小

使用 onstat -g ssc pool 选项来监视每个 SQL 语句高速缓存 (SSC) 池的使用情况。

onstat -g sscpool 命令显示每个池的大小。onstat -g ssc 选项在 currsize 列中显示 SQL 语句高速缓存的累积大小。此当前大小是由插入到高速缓存中的语句从 SSC 池分配的内存大小。由于并非从 SSC 池分配内存的所有语句都插入到高速缓存中,当前的高速缓存大小可能要小于 SSC 池的总计大小。 通常,所有 SSC 池的总大小不会超过 STMT_CACHE_SIZE 值。

图 1 显示 onstat -g ssc pool 的样本输出。

图: onstat -g ssc pool 输出

onstat -g ssc pool


Pool Summary:
name         class addr     totalsize freesize #allocfrag #freefrag 
sscpool0     V     a7e4020  57344      2352     52         7

Blkpool Summary:
name         class addr     size      #blks

onstat -g ssc pool 输出的 Pool Summary 部分为该高速缓存中的每个池列出以下信息。

描述
name SQL 语句高速缓存 (SSC) 池的名称
class 其中已经创建了池的共享内存段。 对于 SSC 池,此值始终是“V”,代表共享内存的虚拟部分。
addr SSC 池结构的共享内存地址
totalsize 此 SSC 池的总计大小(以字节为单位)
freesize 此 SSC 池中可用字节数
#allocfrag 在此 SSC 池中已分配的连续内存区域数
#freefrag 此 SSC 池中未使用的连续内存区域数

onstat -g ssc pool 输出的 Blkpool Summary 部分为该高速缓存中的所有池列出以下信息

描述
name SSC 池的名称
class 其中已经创建了池的共享内存段。 对于 SSC 池,此值始终是“V”,代表共享内存的虚拟部分。
addr SSC 池结构的共享内存地址
totalsize 此 SSC 池的总计大小(以字节为单位)
#blks 组成所有 SSC 池的 8 KB 块的数目