10.1.?标准Unix工具

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

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

ps的调用方式随不同的平台而变,但是显示的细节都差不多。这个例子来自CentOS7操作系统。)列在这里的第一个进程是主服务器进程。为它显示的命令参数是当它被启动时使用的命令行参数。接下来的五个进程是由主进程自动启动的后台工作者进程(如果你已经设置系统为不启动统计收集器,统计收集器进程将不会出现;同样自动清理发动进程也可以被禁用)。剩余三个进程都是处理客户端连接的服务器进程。每个这种进程都会把它的命令行显示设置为这种形式:

uxdb: user database host activity

在该客户端连接的生命期中,用户、数据库和主机(客户端)都保持不变,但是活动指示器会变化。活动可以是空闲(等待客户端的命令)、事务空闲(在一个BEGIN块里等待客户端)或者一个命令类型名,例如SELECT。同样,如果服务器进程正在等待一个其它会话持有的锁,会在上述信息后面附加 waiting。在上面的例子中,澳门游戏平台注册网站可以推出:进程15606正在等待15610完成其事务,这样才能释放一些锁。进程15610必定是阻塞者,因为没有其他活动会话。在更复杂的情况下,有必要查看ux_locks 系统视图来决定谁阻塞了谁。

如果配置了cluster_name,则集群的名字 也将会显示在ps的输出中:

$ uxsql -c 'SHOW cluster_name'
 cluster_name
--------------
 server1
(1 row)

$ ps aux|grep server1
uxdb   27093  0.0  0.0  30096  2752 ?        Ss   11:34   0:00 uxdb: server1: writer process
...

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

XML 地图 | Sitemap 地图