Underlying server processes

There are several server processes that constantly run in Couchbase Server.

These processes occur whether or not the server is actively handling reads/writes or handling other operations from a client application. Right after you start up a node, you may notice a spike in CPU utilization, and the utilization rate will plateau at some level greater than zero. The following describes the ongoing processes that are running on your node:

  • beam.smp on Linux: erl.exe on Windows

These processes are responsible for monitoring and managing all other underlying server processes such as ongoing XDCR replications, cluster operations, and views.

There is a separate monitoring/babysitting process running on each node. The process is small and simple and therefore unlikely to crash due to lack of memory. It is responsible for spawning and monitoring the second, larger process for cluster management, XDCR and views. It also spawns and monitors the processes for Moxi and memcached. If any of these three processes fail, the monitoring process will re-spawn them.

The main benefit of this approach is that an Erlang VM crash will not cause the Moxi and memcached processes to also crash. You will also see two beam.smp or erl.exe processes running on Linux or Windows respectively.

The set of log files for this monitoring process is ns_server.babysitter.log which you can collect with cbcollect_info.

  • memcached : This process is responsible for caching items in RAM and persisting them to disk.
  • moxi : This process enables third-party memcached clients to connect to the server.