Unix下onstat的使用

onstat的每个选项标志和功能

主题或功能 选项标志
onstat --  显示使用onstat方法
onstat -C  B树刷新请求
onstat -B  缓冲区,所有使用的或未使用的信息
onstat -b  当前使用中的缓冲区信息
onstat -X  显示关于共享或等待缓冲区的线索的精确信息
onstat -h  显示缓冲区杂凑链信息
onstat -c  配置文件信息($INFORMIXDIR/etc/$ONCONFIG)
onstat -d  显示各Dbspace中chunk常用信息
onstat -D  显示各Dbspace中前50个chunk的页读入/写出信息
onstat -I  交互方式
onstat -s  显示latch的常用信息
onstat -k  显示关于活动锁的信息
onstat -l  日志信息(逻辑日志和物理日志,包括页地址)
onstat -R  显示LRU队列,FLRU队列,MLRU队列的详细信息
onstat -g  监控多线索等信息
onstat -m  显示OnLine系统消息日志的最后20行内容
onstat -p  显示OnLine活动简要表(profile)统计数据
onstat -r  周期性地重复onstat命令
onstat -o  将当前共享内存段的副本存储到一个指定的文件中
onstat -a  面向用户(小写)选项汇总
onstat -t  显示活动tblspace的常用信息
onstat -x  显示事务信息
onstat -u  用户线索和事务
onstat -F  显示页刷新到磁盘时发生的各种写操作类型计数信息
onstat -z  将所有统计计数置0(清空简要表统计)
onstat -a  等同于onstat–cuskbtdlp

几个常用的onstat选项实例解释



onstat -m :显示消息日志的最后20行.
消息日志的内容包括:
1)、检查点信息
2)、读写错误信息
3)、ONLINE模式转换信息
4)、长事务
5)、日志文件满(LOG FILE FULL )
若想显示完整信息,可直接编译消息日志文件.



onstat -d:磁盘空间的使用情况,包括DBSPACE和CHUNK的信息
Dbspaces
address number   flags    fchunk   nchunks flags    owner    name
c57ef158 1        1        1        1        N        informix rootdbs
c57efd18 2        2001     2        1        N T      informix tmpdbs
c57efdd8 3        1        3        1        N        informix llogdbs
c57efe98 4        1        4        1        N        informix plogdbs
c57eff58 5        1        5        8        N        informix datadbs1
5 active, 2047 maximum


Chunks
address chk/dbs offset   size     free     bpages   flags pathname
c57ef218 1   1   0        150000   148715            PO-   /dev/vg01/lvol1
c57ef378 2   2   0        250000   249881            PO-   /dev/vg01/lvol2
c57ef458 3   3   0        125000   197               PO-   /dev/vg01/lvol3
c57ef538 4   4   0        125000   2447              PO-   /dev/vg01/lvol4
其中的FREE项,显示了该CHUNK的空闲空间大小(Kbytes).



onstat -l :日志文件情况
Physical Logging
Buffer bufused bufsize numpages numwrits pages/io
P-2 42       256      123414   1068     115.56
     phybegin physize phypos   phyused %used
     400035   122500   110222   42       0.03


Logical Logging
Buffer bufused bufsize numrecs numpages numwrits recs/pages pages/io
L-2 0        64       6150454 194478   8434     31.6       23.1
       Subsystem    numrecs Log Space used
       OLDRSAM      6150454 385076912


address number   flags    uniqid   begin        size     used    %used
c128d020 1        U-B---- 6776     300035      12500    12500   100.00
c128d03c 2        U-B---- 6777     303109      12500    12500   100.00
c128d058 3        U-B---- 6778     3061dd      12500    12500   100.00
c128d074 4        U-B---- 6779     3092b1      12500    12500   100.00
c128d090 5        U-B---- 6780     30c385      12500    12500   100.00
c128d0ac 6        U---C-L 6781     30f459      12500     6768    54.14
c128d0c8 7        U-B---- 6772     31252d      12500    12500   100.00
c128d0e4 8        U-B---- 6773     315601      12500    12500   100.00
c128d100 9        U-B---- 6774     3186d5      12500    12500   100.00
c128d11c 10       U-B---- 6775     31b7a9      12250    12250   100.00                              
其中:%USED: 使用百分比
FLAGS字段的含义:
F: 空闲 B:已备份 C: 正在接收事物记录
U: 正在使用 A: 新增日志 L: 包含最后一个检查点





onstat - u:ONLINE的用户情况
Userthreads
address flags   sessid   user     tty      wait     tout locks nreads   nwrites
c57f1018 ---P--D 1        informix -        0        0    0     757      36481
c57f1504 ---P--F 0        informix -        0        0    0     0        377273
c57f19f0 ---P--- 5        informix -        0        0    0     0        6742
c57f1edc ---P--B 6        informix -        0        0    0     29       257


其中:flages字段的含义:
第一列:(S:等待mutex;Y:等待条件;L:等待锁;B:等待缓冲区;
      C:等待检查点;X:长事务清理;G:等待长缓冲写;T:等待事务)
第二列:(*:事务执行时,发生I/O错误)
第三列:(A:正在备份;B:操作已被记录在日志中;P:分布处理已准备好; 
      C:正在提交;R:正在回滚)
第四列:(P:会话的主线索)
第五列:(R:在read rsam 调用中;X:进程在关键分区)
第七列:(M:特殊监控;D:特殊线索;C:清理线索;F:特殊清页进程;
       B:特殊B+树清页线索)



onstat -k :用户持有锁的情况
锁按照粒度分为6种: 库锁、表锁、页锁、行锁、字节锁、键锁
字节锁:更新包含有VARCHAR类型的行时,加在该行上的锁。
键锁:用于索引树上的锁。一般在相应字节上加删除标志。
这几种锁的识别如下:
    TYPE  ONLSNUM  ROWID   SIZE 
库锁  HDR+X  1000002   205     0 
表锁       100000e   0      0
页锁             100      0
行锁             101 
字节锁  HDR+B               909
键锁             很大的16进制数
锁的生命期:1、不使用事务时,操作完成即会释放对应的锁;
2、 若使用事务,锁将伴随整个事务。(即随这COMMIT WORK或ROLLBACK WORK而释放)  
(**锁的几种类型:共享锁(SHARE),排它锁(EXCLUSIVE),可升级锁**)





onstat -p : 显示系统资源状况(是否充分)
Profile
dskreads pagreads bufreads %cached dskwrits pagwrits bufwrits %cached
2112876 5085802 697502689 99.70   469082   1154138 9885314 95.25


isamtot open     start    read     write    rewrite delete   commit   rollbk
269117818 4202839 19282008 199402561 3286406 981022   270765   261330   20733


gp_read gp_write gp_rewrt gp_del   gp_alloc gp_free gp_curs
0        0        0        0        0        0        0


ovlock   ovuserthread ovbuff   usercpu syscpu   numckpts flushes
0        0            0        66354.52 3954.04 341      682


bufwaits lokwaits lockreqs deadlks dltouts ckpwaits compress seqscans
721270   153      794000443 0        0        246      72878    784815


ixda-RA idx-RA   da-RA    RA-pgsused lchwaits
458268   5293     1041489 1480397    1904


OVONLS:指示ONLSPACE值不够 ,ONLSPACES值应增大
OVLOCK:锁溢出  LOCKS应增大
OVUSER:用户表资源不够  USERS
OVBUF:缓冲区资源不够   BUFFERS
以上数字若持续增加,表明相应参数值应调整
DEADLOCKS:检测到的死锁数
DLTOUTS:网络超时死锁
DEADLOCK_TIMEOUT:一般为60秒,若增大此数字,可以减少死锁数,但会增加响应时间,用户看来性能更差;若减少此数字,死锁数可能会增大,但会减少响应时间,在用户看来,响应时间变快了.

查看数据库状态
正常情况下是
infodb% onstat -
IBM Informix Dynamic Server Version 9.40.FC7     -- On-Line -- Up 35 days 16:51:16 -- 3920896 Kbytes

长事务情况下是
infodb% onstat -
IBM Informix Dynamic Server Version 9.40.FC7     -- On-Line (LONGTX) -- Up 35 days 16:41:40 -- 3920896 Kbytes
Blocked:LONGTX


二、显示事务(transaction)信息
其中flag字段中第三个标志位为R说明事务在rollback,说明这个事务是长事务
infodb% onstat -x
IBM Informix Dynamic Server Version 9.40.FC7     -- On-Line (LONGTX) -- Up 35 days 16:41:56 -- 3920896 Kbytes
Blocked:LONGTX
Transactions
1cf0a6748        A-R-- 1cd55c618        642073 119403 119405 0x1aa91e4 DIRTY   0

三、通过长事务的userthread值找出session id
infodb% onstat -u |grep 1cd55c618
1cd55c618        --RPX-- 1880841 informix -        0                0    642073 256446   323049


四、显示会话连接信息,找出造成长事务的SQL语句,并优化
infodb% onstat -g ses 1880841

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值