当前位置:  开发笔记 > 运维 > 正文

在Informix上查找长时间运行的查询?

如何解决《在Informix上查找长时间运行的查询?》经验,为你挑选了1个好方法。

如何找出Informix数据库服务器上长时间运行的查询?我有一个耗尽CPU的查询,想知道查询是什么.



1> DL Redden..:

如果查询当前正在运行,请观察onstat -g act -r 1输出并查找rstcb不为0的项目

Running threads:
 tid     tcb             rstcb            prty status                vp-class      name
 106     c0000000d4860950 0                2    running               107soc        soctcppoll
 107     c0000000d4881950 0                2    running               108soc        soctcppoll
 564457  c0000000d7f28250 c0000000d7afcf20 2    running                 1cpu        CDRD_10

在此示例中,第三行是当前正在运行的行.如果你有多行具有非零rstcb值,那么请注意寻找总是或几乎总是在那里的那一行.这很可能是您要寻找的会话.

c0000000d7afcf20是我们对此示例感兴趣的地址.

使用onstat -u | grep c0000000d7afcf20找到会话

c0000000d7afcf20 Y--P--- 22887    informix -        c0000000d5b0abd0 0    5     14060    3811

这将为您提供会话ID,在我们的示例中为22887.使用onstat -g ses 22887 列出有关该会话的信息.在我的例子中,它是一个系统会话,所以在onstat -g ses输出中没有什么可看的.

推荐阅读
echo7111436
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有