9.3 9.4 9.5 9.6 10 11 12 13 14 Current(15)
阿里云PostgreSQL 问题报告 纠错本页面
PostgreSQL 9.5.3 中文手册
上一页上一级章 27. 监控数据库活动下一页

27.1. 标准 Unix 工具

在大部分 Unix 平台上,PostgreSQL会修改由 ps报告的命令标题,这样个体服务器进程可以被标识。一个显示样例是

$ ps auxww | grep ^postgres
postgres 15551 0.0 0.1 57536 7132 pts/0 S 18:02 0:00 postgres -i
postgres 15554 0.0 0.0 57536 1184 ? Ss 18:02 0:00 postgres: writer process
postgres 15555 0.0 0.0 57536 916 ? Ss 18:02 0:00 postgres: checkpointer process
postgres 15556 0.0 0.0 57536 916 ? Ss 18:02 0:00 postgres: wal writer process
postgres 15557 0.0 0.0 58504 2244 ? Ss 18:02 0:00 postgres: autovacuum launcher process
postgres 15558 0.0 0.0 17512 1068 ? Ss 18:02 0:00 postgres: stats collector process
postgres 15582 0.0 0.0 58772 3080 ? Ss 18:04 0:00 postgres: joe runbug 127.0.0.1 idle
postgres 15606 0.0 0.0 58772 3052 ? Ss 18:07 0:00 postgres: tgl regression [local] SELECT waiting
postgres 15610 0.0 0.0 58772 3056 ? Ss 18:07 0:00 postgres: tgl regression [local] idle in transaction

(调用ps的方法因平台的不同而略有不同,显示出来的细节也有一些区别。 这个例子来自一个最近的 Linux 系统)。这里显示出来的第一个进程是主服务器进程。 为它显示的命令参数是启动它时使用的那些。接下来的五个进程是由主进程自动启动的后台工作者进程 (如果你已经设置系统为不启动统计收集器,"统计收集器"进程将不会出现; 同样"自动清理发动"进程也可以被禁用)。 剩余的每一个进程都是处理一个客户端连接的服务器进程。 每个这样的进程都会把它的命令行显示设置为这种形式

postgres: user database host activity

在该客户端连接的生命期中,用户、数据库以及(客户端)主机项保持不变, 但是活动指示器会改变。活动可以是闲置(即等待客户端的命令)、 在事务中闲置(在一个BEGIN块里等待客户端)或者一个命令类型名, 例如SELECT。还有,如果服务器进程正在等待一个其它会话持有的锁, 等待中会被追加到上述信息中。在上面的例子中,我们可以推断: 进程 15606 正在等待进程 15610 完成其事务并且因此释放一些锁(进程 15610 必定是阻塞者, 因为没有其他活动会话。在更复杂的情况中,可能需要查看 pg_locks 系统视图来决定谁阻塞了谁)。

如果已经配置了cluster_name, 那么在ps输出中也会显示集群名称:

$ psql -c 'SHOW cluster_name'
 cluster_name
--------------
 server1
(1 row)
$ ps aux|grep server1
postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: server1: writer process
...

如果你已经关闭了update_process_title,那么活动指示器将不会被更新, 进程标题仅在新进程被启动的时候设置一次。在某些平台上这样做可以为每个命令节省可观的开销, 但在其它平台上却不明显。

提示: Solaris需要特别的处理。你必需使用/usr/ucb/ps 而不是/bin/ps。你还必需使用两个w标志,而不是一个。 另外,你对postgres命令的最初调用必须用一个比服务器进程提供的短的 ps状态显示。如果你没有满足全部三个要求,每个服务器进程的 ps输出将是原始的postgres命令行。


上一页起始页下一页
监控数据库活动上一级统计收集器
<
/BODY>

AltStyle によって変換されたページ (->オリジナル) /