磐维PanWeiDB2.0CPU夯死优化处理
1、主机CPU资源打满,主机失联,
2、通过抓取线程分析SQL,直接上脚本
#!/bin/bash
thread_sets=`ps -ef |grep -i panweidb |grep -v grep |grep D | awk '{print $2}'| xargs top -n 1 bHp |grep -i worker| sort -k3nr | head -n 5| awk '{print $1}'|tr "n" "," |sed -e 's/,$/n/'`
gsql -p 17700 postgres -c "select pid,lwtid,state,query from pg_stat_activity a,dbe_perf.thread_wait_status s where a.pid=s.tid and lwtid in($thread_sets);" >/data/panweidb/data/1.txt
3、执行结果参考
4、优化案例效果
5、重要紧急情况,批量杀会话,先恢复业务
SELECT 'SELECT ' || 'PG_TERMINATE_BACKEND(' || pid || ');' FROM pg_stat_activity WHERE state != 'idle' and usename='omm' and datname='postgres';