onstat -g nsc 命令:打印当前的共享内存连接信息

可以使用 onstat -g nsc 命令显示有关当前所有连接或特定连接 ID 的共享内存连接的信息。

语法:

如果未提供 client_id ,那么给出关于到数据库服务器的所有当前共享内存连接的信息。如果提供了 client_id ,那么此命令给出具有该 ID 的共享内存连接的更详细的信息。

示例输出

以下是不带有 client_idonstat -g nsc 输出。它显示当前只有一个用户通过共享内存连接到数据库服务器。这个连接的 ID 是 0 。

图: onstat -g nsc 命令输出

                                                                                
        clientid  clientPID      state #serverbufs #clientbufs    #rdwrts             
        0       6031  Connected           4           4         12             

此示例显示使用 client_id 0 运行命令的输出:

图: onstat -g nsc command with client id output

Network Shared Memory Status for Client: 0                                      
            
            clientid    clientPID        state  #serverbufs  #clientbufs      #rdwrts   
            0        18949    Connected            4            4       447048   
            
            needbuf        segid        semid       semnum     be_semid    be_semnum   
            0         1303       851969            0       851969           10   
            
            be_curread  be_curwrite   fe_curread  fe_curwrite                             
            -1            1            0            2                             
            
            be_nextread be_nextwrite  fe_nextread fe_nextwrite                             
            2            2            4            3                             
            
            readyqueue                                                                      
            -1   -1   -1   -1   -1   -1   -1   -1   -1   -1   -1                          
            
            Server Buffers                             Client Buffers                  
            i: bufid     status   offset  fe_addr         bufid     status   offset  fe_addr
            0:     4      inuse     4474   804474             0      avail     3424   803424
            1:     5      inuse     4888   804888             1      avail     3838   803838
            2:     6      avail     4c9c   804c9c             2      inuse     3c4c   803c4c
            3:     7      avail     50b0   8050b0             3      avail     4060   804060
            4:    -1       free        0        0            -1       free        0       0
            5:    -1       free        0        0            -1       free        0       0

输出描述

clientid
服务器分配的 ID
clientPID
客户端进程 ID
state
连接状态
Connected
客户端已和服务器建立了连接
Con1
服务器已经成功建立与客户端的连接,但客户端尚未得到通知
Waiting
服务器正处于与客户机建立连接的过程中
Reject
服务器已经拒绝客户机连接,通常是由于服务器正在关闭或还未处于联机方式
Closed
服务器已关闭与客户端的连接。客户端可能还不知道这个情况
Not connected
服务器正在初始化连接的内部结构
Unknown
连接已关闭,并且客户端知道这个情况。服务器正在消除内部结构
#serverbufs
当前分配的数据库服务器缓冲区
#clientbufs
当前分配的客户端缓冲区
#rdwrts
自连接创建以来通过这个连接执行的读和写的总数
仅当带 client_id 运行 onstat -g nsc 命令时,以下项才显示在输出中:
needbuf
标示服务器是否在等待释放某个缓冲区
0
False
1
True
segid
共享内存段 ID
semid
信号量 ID
semnum
在信号量 ID 中的信号量编号
be_semid
后端信号量 ID
be_semnum
在信号量 ID 中的后端信号量编号
be_curread
正被读取的后端缓冲区的 ID
be_curwrite
正被写入的后端缓冲区的 ID
fe_curread
正被读取的前端缓冲区的 ID
fe_currwrite
正被写入的前端缓冲区的 ID
be_nextread
要读取的下一个后端缓冲区的 ID
be_nextwrite
要写入的下一个后端缓冲区的 ID
fe_nextread
要读取的下一个前端缓冲区的 ID
fe_nextwrite
要写入的下一个前端缓冲区的 ID
readyqueue
共享缓冲区标识队列
Buffers
i
消息缓冲区的内部位置键
bufid
消息缓冲区 ID
status
消息缓冲区的状态
offset
共享内存段中的内存缓冲区的偏移量
fe_addr
消息缓冲区的前端地址