Informix技术论坛

返回列表 发帖
未解决

[调优技巧] onstat -g ses输出结果中参数curstk的意义

悬赏金额: 10 金币社区金钱

在onstat -g ses的输出结果中,有一个参数curstk(当天堆栈大小),手册没有具体解释。
此参数值会很大(单位b),如:
tid       name      rstcb                      flags       curstk        status
9145     sqlexec  c00000069a5218d8 ---PR--  -2066962976 running-
并且有时候是正数(637486560),有时候是负数( -2066962976 )
请解释,这个参数对sql有什么影响。


sqlexec 的stk 可以忽视,可能认为这是一个统计值。。。
在onstat -g sts 中也可以看到sqlexec的stk的大小比较大。。

至于出现负值,应该是超过了int的上限,所以变成负值了。。
MY BLOG:
http://www.liaosnet.com

TOP


好像google能搜得到的呢。。。。
http://publib.boulder.ibm.com/in ... ef.doc/adref457.htm
比较详细和权威啊,自己看看哦。

呵呵,大约是这样的。
curstk: Current stack size; status: Current thread status. Memory pools header section. The information is repeated for each session pool.
附件: 您需要登录才可以下载或查看附件。没有帐号?注册

TOP

curstk is I believe calculated based on the threads top of stack. On Linux and Solaris (at least, not sure if there are any others off the top of my head) we switched to using a alternative stack for signal handling. And in the signal handling code we do a switch thread to ourself, which would save the Top of stack in the signal stack into the tcb->mt_stack (which is I believe used to compute that curstk value). So if we are using a alternative signal stack, and this thread was in the signal handling code, then you could see crazy values for it in that onstat -g ses output and probably also onstat -g sts The other possibility would just be that the tcb->mt_stack structure itself somehow got corrupted which could make that output look like garbage
so tell customer that if there are no any warning that stack overflow, and they can ignore the onstat -g ses curstk size info, and they can use onstat -g sts output to check the stack size.

TOP

返回列表

站长推荐 关闭


IMVP 张东焕 全面解析informix迁移(图文)

张东焕老师结合自己实施过的数据移植项目介绍案例,讲述数据迁移的各种方法及适用场景...


查看