onstat -p 命令:打印概要文件计数

可以使用 onstat -p 命令显示自启动数据库服务器以来或自运行 onstat -z 命令以来的概要文件计数的信息。

语法:

示例输出

图: onstat -p 命令输出

Profile
            dskreads  pagreads   bufreads   %cached dskwrits   pagwrits   bufwrits   %cached
            16934     47321      203600361  99.99   103113     158697     950932     89.16  
            
            isamtot   open     start    read     write   rewrite  delete  commit  rollbk
            139214865 9195777  12257208 94191268 362691  55696    38134   128294  24
            
            gp_read   gp_write   gp_rewrt   gp_del     gp_alloc   gp_free   gp_curs
            39        2          27         51         0          0         16     
            
            ovlock    ovuserthread   ovbuff   usercpu  syscpu   numckpts   flushes   
            0         0              0        1551.59  144.82   1822       1822      
            
            bufwaits  lokwaits  lockreqs   deadlks  dltouts  ckpwaits  compress  seqscans
            176       1         195872383  0        0        1         39331     1259170
            
            ixda-RA   idx-RA     da-RA    logrec-RA  RA-pgsused lchwaits  
            0         7594       2124     0          2002       18848  

输出描述

输出的第一部分描述读取和写入。

读和写分成三类:从磁盘、从缓冲区以及页数(读取或写入)

第一个 %cached 字段衡量从缓冲区的读取数与从磁盘的读取数之比。第二个 %cached 字段衡量写入缓冲区的数量与写入磁盘的数量之比。

数据库服务器对信息执行缓冲并将其写入磁盘(以页为单位)。出于这个原因,以 dskwrits 显示的磁盘写入数通常小于个别用户执行的写入数:
dskreads
实际的磁盘读取数
pagreads
页读取数
bufreads
共享内存读取数
%cached
缓冲池中已高速缓存的读取数百分比

如果 bufreads 超过最大 integer (或 long)值,那么其内部表示变成负数,但值显示为 0.0

dskwrits
对磁盘的物理写入的实际数量

该数字包含对 onstat -l 中所报告的物理和逻辑日志的写入数

pagwrits
已写入页的数量
bufwrits
共享内存写入数
%cached
缓冲池中已高速缓存的写入数百分比
-p 的下一部分显示已执行不同类 ISAM 调用的次数的制表。这些调用发生在操作的最底层,并且不必与 SQL 语句一对一对应执行。单个查询可能产生多个 ISAM 调用。这些统计信息通过数据库服务器产生并且不能用来监视单个数据库上的活动,除非只有一个数据库是活动的或只存在一个数据库
isamtot
调用总数
open
当 tblspace 打开时增加
start
增加索引中的指针
read
当调用读取函数时增加
write
当每次写调用时增加
rewrite
当发生更新时增加
delete
当删除行时增加
commit
每次执行 iscommit() 调用时增加

该值与已执行的显式 COMMIT WORK 语句之间不存在一对一的对应关系

rollbk
当事务回滚时增加
onstat -p 命令输出的下一部分显示有关一般页的信息。一般页管理提供一个 API 让 GBase 8s 来管理数据库服务器缓冲池中的非标准页。下表描述了 onstat -p 命令输出中的 Generic Page Manager 。
gp_read
一般页读取数
gp_write
一般页写入数
gp_rewrt
一般页更新数
gp_del
一般页删除数
gp_alloc
一般页分配数
gp_free
已释放并返回给 tablspace 的一般页数
gp_curs
用于一般页的游标数
onstat -p 命令输出的下一部分显示了请求资源时没有可用资源的次数:
ovlock
会话尝试超过锁最大数量的次数

有关更多信息,请参阅第 1-56 页的 “LOCKS”

ovuserthread
用户尝试超过用户线程最大数量的次数
ovbuff
数据库服务器无法找到可用共享内存缓冲区的次数

当没有可用缓冲区时,数据库服务器将 dirty 缓冲区写入磁盘,然后设法找到可用缓冲区

usercpu
所有用户线程使用的用户 CPU 时间(以秒为单位)

该条目每 15 秒更新一次

syscpu
所有用户线程使用的全部系统 CPU 时间(以秒为单位)

该条目每 15 秒更新一次

numckpts
自引导时间以来的 checkpoint 数
flushes
缓冲池已清仓到磁盘的次数
onstat -p 命令输出的下一部分包含杂项信息,如下:
bufwaits
每次用户线程必须等待缓冲区时增加
lokwaits
每次用户线程必须等待锁时增加
lockreqs
每次请求锁时增加
deadlks
每次检测到潜在死锁并阻止时增阿基
dltouts
每次用户线程等待锁时已超过分布式死锁超时时增加
ckpwaits
Checkpoint 等待数
compress
每次压缩数据页时增加
seqscans
对每个顺序扫描增加
*
onstat -p 命令输出的最后一部分包含以下信息:
ixda-RA
索引页到数据页的预先读取计数
idx-RA
遍历索引页的预先读取计数
da-RA
仅数据路径扫描的计数
logrec-RA
数据库服务器预先读取的日志记录
RA-pgsused
数据库服务器预先读取所使用的页数
lchwaits
存储线程需要等待共享存储锁存器的次数

大的锁存器等待数通常是由大量处理活动引起,数据库服务器正在此活动中记录大多数事务