
售后工程师:
久等了,这边核实,您的实例对应时间点前后,一直有长事务存在,见图1 2,建议您核实下业务侧是否有周期性的定时任务之类的,谢谢 参考文档: RDS PostgreSQL CPU利用率高问题


售后工程师:
1.pg_stat_activity找当前活跃、可能占 CPU 的会话,CPU高的时候可以执行下:
ELECT
pid,
usename,
application_name,
client_addr,
state,
wait_event_type,
wait_event,
now() - query_start AS exec_duration,
query
FROM pg_stat_activity
WHERE state = 'active'
AND wait_event IS NULL
ORDER BY exec_duration DESC;
2.参考以下命令查询最耗时的SQL,一般就是导致问题的直接原因
select * from pg_stat_statements order by total_time desc limit 5;
参考以下SQL语句,查询读取Buffer次数最多的SQL,这些SQL可能由于所查询的数据没有索引,而导致了过多的Buffer读,也同时大量消耗了CPU。
select * from pg_stat_statements order by shared_blks_hit+shared_blks_read desc limit 5;
售后工程师:
尊敬的用户,您好: 我们为您进行工单总结,内容如下,请您查阅。
======================================
问题描述: 数据库CPU持续飙至100%
解决方案: 核实业务侧是否有周期性定时任务,查询活跃会话及最耗时SQL,检查Buffer读取次数。
======================================
阿里云售后提示您:
1.如果后续您对实例或数据有修改、变更等风险操作,务必注意容灾、容错能力,确保数据安全。
2.如果工单中您有授权提交登录密码等安全信息,建议您及时修改。
本地日志路径:
- /alidata/server/informat_home/jazmin_server/log/TableItAccountSystem_prd.log
- /alidata/server/informat_home/jazmin_server/log/TableItBizSystem_prd_0.log
重启服务:
cd /alidata/server/informat_home/jazmin_server ./restartall.sh