There are several resource limits managed by the operating system where per-user default values are optimized for time-sharing systems but can be too restrictive for dedicated applications like VoltDB. In particular, although VoltDB is an in-memory database, process threads require large numbers of file descriptors, to the point where the file descriptor limit can interfere with VoltDB operations.
It is recommended that you increase the process and file descriptor limits for the process starting the VoltDB server. You can do this with the ulimit shell command prior to starting VoltDB. The recommended minimum limits for processes and file descriptors are 8192 and 16384, respectively. Note that these are top limits, so on dedicated servers there are no drawbacks to setting these values even higher. For example, the following commands set the limits to 10,000 and 40,000 before starting the server:
$ ulimit -u 10000 $ ulimit -n 40000 $ voltdb start
To set the limits permanently, you can set the limits as part of the system initialization. See your operation system documentation on ulimit and init.d for more information.