recvstats – master node daemon that receives status messages from compute nodes


recvstats [-p port] [-N initial-max-num-nodes] [-f]


The recvstats daemon is part of the beostat package. It executes on the master node, receives periodic per-node status data sent by each cluster node’s sendstats daemon, and makes the data available to various commands and services on the master node.

The recvstats daemon parses the received data to ensure basic validity. The exact content and format of the sendstats messages is version specific, though it typically includes a unique node number identifying the sender, plus the dynamic values of the following proc file system files: /proc/cpuinfo, /proc/meminfo, /proc/loadavg, /proc/net/dev, and /proc/stat.

The recvstats daemon stores the incoming data in shared memory in the /dev/shm filesystem, which should be readable by everyone. If that filesystem doesn’t exist or the file permissions are not set correctly, then recvstats and the consumers of that data will not function correctly. Note: most consumers of this recvstats data access it using various commands (e.g., beostat(1), beostatus(1), ganglia, Scyld IMF) or use the libbeostat abstracted library interface.

The recvstats daemon is started by the ClusterWare service, and the sendstats daemon is started for BProc nodes by the node initialization script /etc/beowulf/init.d/13sendstats.


The following options are available to the recvstats daemon.

-p port

Override the default listen port of 5545. Only use this option if there is a conflict with the default port, and use the same non-default port when executing sendstats on each cluster node.

-N initial-max-num-nodes

Start recvstats with an explicit non-default guess about how many cluster nodes will be sending data. If a node number above this initial maximum sends data, then recvstats dynamically expands the shared memory structure to accommodate it.


Start the recvstats daemon on the master node:

[root@cluster ~] # /usr/bin/recvstats -p 5545 -N `beoconfig nodes`