pg_top + idle进程分析
1. Install Howto
Download latest epel-release rpm from http://download-ib01.fedoraproject.org/pub/epel/7/x86_64/ Install epel-release rpm: # rpm -Uvh epel-release*rpm Install pg_top rpm package: # yum install pg_top
参考:https://cloud.tencent.com/developer/article/1612270 https://centos.pkgs.org/7/epel-x86_64/pg_top-3.7.0-5.el7.x86_64.rpm.html
2. pg_top查看sql
按Q 键,然后输入你的线程号,就捕捉上图显示 4221 线程当前执行的命令 按L 键,然后输入你的线程号,则可以捕捉你当前执行命令所正在霸占得锁信息
Useful Interactive Features There are a handful of interactive features in pg_top that can be accessed while it is running. A full list can be found by entering a ?, which will bring up a help screen with all the different options available. Planner Information E - Execution Plan Entering E will provide a prompt for a process ID for which to show an explain plan. This is equivalent to running “EXPLAIN <QUERY>;” in the database manually. A - EXPLAIN ANALYZE (UPDATE/DELETE safe) Entering A will provide a prompt for a process ID for which to show an EXPLAIN ANALYZE plan. This is equivalent to running “EXPLAIN ANALYZE <QUERY>;” in the database manually.
Process Information Q - Show current query of a process Entering Q will provide a prompt for a process ID for which to show the full query. I - Shows I/O statistics per process (Linux only) Entering I switches the process list to an I/O display, showing each process reads, writes, etc to disk. L - Shows locks held by a process Entering L will provide a prompt for a process ID for which to show held locks. This will include the database, the table, the type of lock, and whether or not the lock has been granted. Useful for when exploring long running or waiting processes.
3. pg的idle进程分析
idle连接,最后查找问题,是代码的问题,NpgsqlDataReader没有关闭,形成了很多的空闲连接,连接npgsql后需要关闭,可以有效的释放连接;
用一个例子来演示会更加清晰
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
2019-07-01 用docker 跑 logstash节点 - kibana界面汉化 - logstash tcp