注册
大家需要建立好共同语言:psp命令的结果看一下

大家需要建立好共同语言:psp命令的结果看一下

hql 2022/07/31 2119 2 1
摘要 有时候,我们分析和排查问题过程中,需要看一下psp的命令结果,大家需要知道说的是什么。

场景

在很多问题的排查中,我们需要在数据库服务器上执行PSP命令,并拿到输出结果进行分析。

注意,则要求服务上已经安装好了GDB命令,检查方式如下:
gdb --version

说明

PSP这个命令在数据库服务器上并不存在,我们需要自己手动建立。

1.cd到数据库软件的bin目录,vi psp 然后输入如下内容

#!/bin/bash nsamples=1 sleeptime=0 pid=$(pidof $PWD/dmserver) ss=$(date +%F%H%M%S.dmserver.t) for x in $(seq 1 $nsamples) do gdb -ex "set pagination 0" -ex "thread apply all bt" -batch -p $pid sleep $sleeptime done >$ss cat $ss|awk ' BEGIN { s = ""; } /^Thread/ { print s; s = ""; } /^\#/ { if (s != "" ) { s = s "," $4} else { s = $4 } } END { print s }' | \ sort | uniq -c | sort -r -n -k 1,1

2.保存后,直接在改目录下运行 sh psp 即可,如下图:

image.png

上述命令的输出结果中,包含的较多信息,可以协助我们问题排查(含性能分析等)。

注意事项

1.该命令执行,有可能会让数据库进程短时间内无响应(不超过3秒),需要注重评估是否可以执行;
2.该命令执行时间如果超过3秒,需要立即终止执行(通过 ctrl+c),以免对系统产生过大影响;

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服