onstat命令 for ipc

来源:互联网 发布:双色球红球最简单算法 编辑:程序博客网 时间:2024/05/01 14:07

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       stktid〉:卸出某个线程的堆栈

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

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

2       seg:显示内存段统计

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

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

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

2       ffrpool name|session ib〉:显示空闲的内存段

2       ufrpool 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       nsssession id〉:显示网络共享内存状态

2       nscclient id〉:显示网络共享内存状态

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

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

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

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

2       qst:显示队列统计

2       wst:显示等待线程统计

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

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

2       sessession id〉:显示会话信息

2       sqlsession 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       NameFreeUsed:这些列给出了会话中池的具体使用情况

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

2       Stmt type:语句类型,诸如SELECTUPDATEDELEIEINSERT

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

2       Isolation level:当前隔离级(CR=committed read RR=repeatable readCs=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       应用程序隔离级:检查隔离级设为RRCS的部分,考虑是否可以使用DR

0 0
原创粉丝点击