Chinaunix首页 | 论坛 | 博客
  • 博客访问: 169487
  • 博文数量: 21
  • 博客积分: 2077
  • 博客等级: 大尉
  • 技术积分: 290
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-27 09:44
文章分类

全部博文(21)

文章存档

2009年(7)

2008年(14)

我的朋友

分类: DB2/Informix

2008-12-01 15:35:45

Informix onstat 命令详解
 

onstat的每个选项标志和功能

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

几个常用的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秒,若增大此数字,可以减少死锁数,但会增加响应时间,用户看来性能更差;若减少此数字,死锁数可能会增大,但会减少响应时间,在用户看来,响应时间变快了。

阅读(15226) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~