onstat命令

onstat命令  

2009-04-12 14:07:37|  分类: 程序与数据库 |  标签: |字号大中小 订阅

onstat -   : informix 数据库概要信息, 显示信息为:数据库版本、数据库状态、数据库运行时间、共享内存区大小
onstat -a (all) : 显示数据库全部信息,包括消息日志、配置文件信息、用户进程、事务信息等
onstat -b (buffer) :显示缓冲池中当前正在被修改的、包含在缓冲区头部的信息、和缓冲区概要信息
onstat -B (buffer all) :显示全部缓冲区信息
onstat -c (configfile) : 显示配置文件内容(例如:/opt/informix/etc/onconfig.pauper文件内容)
onstat -C (Cleaner) : 显示所有的B树清理进程状态
onstat -d (dbspace) : 所有 Dbspace 和所有 chunk 的信息(空间与使用情况)
onstat -D (DBSpace) : 类似 onstat -d,size, free, bpages 被 number of reads and writes 替换
onstat -f (DataSkip status) : 显示当 Dbspace 出现错误的时候,被跳过的 Dbspace 的状态
onstat -G (Global Transaction) : 显示所有通过调用标准 TP/XA 调用而产生的全局事务信息
onstat -h (Hash Chain Info) : 显示缓冲哈希链的信息
onstat -i (Interactive Mode) : 进入 onstat 交互模式,进入后可以省略输入 onstat,直接输入选项即可
onstat -j : 显示内存中 onpload control 表里所包含的状态
onstat -k : 显示当前系统中数据库对象的锁。锁的类型和持有时间由数据库的登录方式,隔离级别和程序设计决定
onstat -K :  和 -k 相同, 多了一个 same 数据
onstat -l (Logging) : 显示日志信息, 包括逻辑日志和物理日志
onstat -L (Lock Free List Distribution) : 可用的空锁列表
onstat -m (message log) : 显示消息日志的最后20行
onstat -o (output shared memory) : 将共享内存中的内容 dump 到一个指定的文件中
onstat -O (Optical Cache) : 子系统缓冲消息
onstat -p (Profile statistics) : 从系统启动到执行 onstat -z期间的OnLine的活动简要表统计信息
onstat -P (Partition Buffer Summary) : 缓冲区概要。表/索引编号、页数、变址页数目、数据页数目、其他页数目、常驻内存区数
onstat -r (Repeat) : 周期性的执行 onstat 命令,默认周期为5秒,例如:onstat -b -r
onstat -R (LRU Queues) : 当前 LRU 队列状态
onstat -s : 共享内存中,当前被用户进程所占有的资源锁信息
onstat -t : 当前正在被用户进程所访问的 TBLSpaces 信息
onstat -T : 所有曾被打开过的 TBLSpaces 信息
onstat -u (userthreads) : 系统中正在运行的用户进程
onstat -x : 系统中当前活动的事务
onstat -X : 正在使用和等待使用缓冲区的资源
onstat -z (Zero Profile Counts) : 重置所有的配置计数为0

Onstat -g选项:

2       ath:显示所有线程。

2       wai:显示等待线程。

2       act:显示活动线程。

2       rea:显示就绪线程。

2       sle:显示所有睡眠线程。

2       spi:显示循环(spin)锁

2       sch:显示VP调度统计

2       lmx:显示所有锁住的Mutexes

2       wmx:显示所有等待的Mutexes

2       con:显示所有条件等待

2       stk〈tid〉:卸出某个线程的堆栈

2       glo:显示多线程总体信息

2       mem 〈pool name|session id〉:显示内存使用信息

2       seg:显示内存段统计

2       rbm:显示驻留内存块位图

2       nbm:显示非驻留内存块位图

2       afr〈pool name|session id〉:显示己分配的内存段

2       ffr〈pool name|session ib〉:显示空闲的内存段

2       ufr〈pool name|session id〉:显示内存使用申请信息

2       iov:根据VP显示磁盘I/O统计

2       iof:根据chunk/文件显示磁盘I/O统计

2       ioq:根据队列显示磁盘I/O统计

2       iob:根据IO VP类显示big buffer使用统计

2       ppf[〈partition number〉:显示分片profiles

2       tpf[〈tid〉|0]:显示线程profiles

2       ntu:显示网络用户线程profiles

2       ntt:显示网络用户线程访问时间

2       ntm:显示网络消息信息

2       ntd:显示网络分派信息

2       nss〈session id〉:显示网络共享内存状态

2       nsc〈client id〉:显示网络共享内存状态

2       nsd:显示网络共享内存状态

2       ppf:显示分片读/写调用次数显示分片读/写调用次数显示分片读/写调用次数

2       sts:显示最大及当前的堆栈大小

2       dic:显示数据字典缓冲信息

2       qst:显示队列统计

2       wst:显示等待线程统计

2       prc:显示存储过程缓冲区信息

2       dsc:显示数据分布缓冲区信息

2       ses〈session id〉:显示会话信息

2       sql〈session id〉:显示SQL信息

2       dri:显示数据复制信息

Onstat -g ses

可运行onstat-g ses获得有关会话的信息。这个命令可用于取得客户程序的某些信息,如进程id号、注册名和主机名等:

2       session id:会话的id号。

2       login:客户程序进程的注册名

2       tty:客户程序进程的tty

2       pid:客户程序进程的进程id号

2       hostname:运行客户程序进程的机器的主机名

2       #RSAM threads:与会话有关的线程的个数,一般,一个会话只分配一个线程,除非发生排序或建立索引。

2       total memory:为该会话分配的OnLine共享内存

2       used memory:该会话己使用的OnLine共享内存

所有权为Informix并且进程id号为0的会话不属于用户,它们由数据库服务器内部使用。

如果给出一个会话的id, 如:

onstat-g ses 25

onstat-g ses命令还可列出有关该会话的更多的信息,会话中每个线程的信息如下:

2       tid:线程id号

2       name:线程名

2       rstcb:线程的rsam任务控制块的地址

2       flags:线程的状态信息。

2       curstk:线程的栈的大小

2       status:线程的当前状态

一般来说,每个会话只会看到一个线程,即sqlexec线程。但是,在排序或建立索引期间,可能会有多个线程。

Onstat -g ses session-id命令还可列出如下其它信息:

2       Name,Free,Used:这些列给出了会话中池的具体使用情况

2       Session Id:执行SQL语句的用户的会话id号,可以运行onstat-g ses命令得到用户名及对应的会话id号。

2       Stmt type:语句类型,诸如SELECT、UPDATE、DELEIE、INSERT

2       Current Database:会话中当前数据库的名字

2       Isolation level:当前隔离级(CR=committed read ,RR=repeatable read ,Cs=cursor stability ,DR=dirty read ,NL=no logging)

2       Lock mode:锁的当前状态(或者为Not Wait ,或者为Wait x,其中x为需要等待的秒数)

2       SQL ERR:最后的SQL错误

2       ISAM ERR:最后的ISAM错误

2       F.E.Vers:客户程序进程的Infomix版本

此外,由当前的SQL语句及会话创建的所有临时表也将列出。

Onstat -p

OnLine系统资源的最初配置有可能不满足系统的各种要求,可以使用onstat –p命令监控系统资源。

Onstat -p命令给出的统计信息包括4个域:

2       ovtbls:指示tblspace资源不够

2       ovlock:指示锁资源不够

2       ovuserthresd:指示用户线程资源不够

2       ovbuf:指示缓冲区资源不够

上述各值偶尔非0并不意味着系统需要调整,但如果长持续增长,则说明系统需要调整。

监控锁冲突

观察Onstat -p命令输出结果的lockwaits列和lockreqs列,了解可能发生的锁的争用或冲突情况。必须等待的锁请求的百分比必须尽可能的小。

如果锁请求等待的百分比上升,应当检查以下几方面:

2       页级锁:可能是页级锁太多导致等待。在这种情况下,应当考虑使用行级锁。

2       表级锁:使用表级锁的应用程序应当考虑使用其它级别的锁

2       应用程序隔离级:检查隔离级设为RR和CS的部分,考虑是否可以使用DR

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值