Hi Ying,
It's the beam.smp process that is the main couchdb process. The
other processes:
epmd: Erlang port mapper daemon, acts as a name server for other
Erlang hosts
beam.smp: BEAM, the Erlang Virtual Machine, where couchdb runs
cpu_sup: Erlang CPU supervisor process
couchjs: The CouchDB view server process, where your Javascript
map/reduce views execute and are built/maintained. You have
2o f these running.
> Another question, how did you know that the error is EMFILE? I did
> not see this even by skimming through the code.
It's right here:
> >> {"status":500,"name":"badmatch","message":"Database encountered an
> >> unknown
> >> error","reason":"{error,{badmatch,{error,{{badmatch,{error,emfile}},
The {error,emfile} says that the OS has passed up an EMFILE error. I know
what this error is from (on Linux) running `man errno`, which lists:
EMFILE Too many open files (POSIX.1)
The error code emfile isn't in CouchDB itself because we don't explicitly
check for it - as we consider that a configuration error, not a database
fault.
All the best,
Joan