linuxz中的rpc.rstatd 和rpc.statd命令

 问题描述: 发现运行的进程中有rpc.statd服务,对这个服务很是不了解,就进行探索,发现,在 linux中的 /usr/sbin 目录中有两个文件 rpc.rstatd 和 rpc.statd, 文件名非常相象,他们各自是干啥的呢?

    解答:
    在 linux的 /usr/sbin 目录中有两个文件 rpc.rstatd 和 rpc.statd, 文件名非常相象,但所起的作用是不同的。

    用途 : 
   1. 执行 /usr/sbin/rpc.rstatd 命令会启动 rstatd 后台程序,它是一个服务器,可以从系统核心中获取系统性能统计的相关信息,将结果返回给调用程序。 rstatd daemon 通常是由 inetd daemon 启动的。 
目前在进行压力测试时,用户经常在客户端通过使用 load runner 软件来收集应用或数据库服务器的性能数据。 其就是通过给服务器上的 rstatd 后台程序发请求来实现的。 
   2. /usr/sbin/rpc.statd 命令会启动 statd 后台程序。 在 NFS 环境中 statd daemon 与 lockd daemon 相结合,为锁机制提供 crash 和 recovery 功能。 statd daemon 除负责维护相关的连接信息外,还监控 /var/statmon/sm 目录, /var/statmon/sm.bak 目录和 /var/statmon/state 文件中的状态信息。 statd 通常是在 lockd 之前启动, statd daemon 的启动和停止是通过 调用系统的 SRC 命令来实现的。

    启 / 停方式 : 
    1. 启/停 rstatd 
    a. 启动 rstatd
a.1 首先编辑 /etc/inetd.conf 文件, 删除 rstatd 行前的注释符,将该文件存盘。
#vi /etc/inetd.conf
rstatd sunrpc_udp udp wait root /usr/sbin/rpc.rstatd rstatd 100001 1-3
a.2 刷新 inetd daemon 
#refresh –s inetd

    b. 停止 rstatd 
b.1 编辑 /etc/inetd.conf 文件, 在 rstatd 行前增加注释符,将该文件存盘。 
#vi /etc/inetd.conf
#rstatd sunrpc_udp udp wait root /usr/sbin/rpc.rstatd rstatd 100001 1-3
b.2 刷新 inetd daemon 
#refresh –s inetd

   2. 启/停 statd
   启动 statd 
# startsrc –s rpc.statd 
   停止 statd 
# stopsrc –s rpc.statd

   检查方法 : 
1 .检查 rstatd 是否活动。 
a. 使用 SRC 命令 
#lssrc –ls inetd 
Subsystem Group PID Status 
inetd tcpip 10086 active 
… 
Service Command Description Status 
rstatd /usr/sbin/rpc.rstatd rstatd 100001 1-3 active 
wsmserver /usr/websm/bin/wsmserver wsmserver -start active 
time internal active 

b . 在 portmap 中也会对 rstatd 进行登记 
# rpcinfo –p |grep rstatd 
program vers proto port service 
100001 1 udp 32935 rstatd 
100001 2 udp 32935 rstatd 
100001 3 udp 32935 rstatd

    2 .检查 statd 是否启动 
    a. 使用 SRC 命令 
# lssrc –s rpc.statd
Subsystem Group PID Status 
rpc.statd nfs 13682 active

    b. 检查进程是否存在 
# pd –ef |grep stat 
daemon 13682 6044 0 Oct 28 - 0:00 /usr/sbin/rpc.statd -d 0 -t 50

你可能感兴趣的:(数据库服务器,service,服务器,linux,command,crash)