The shell has a built-in command to query and set those values: ulimit.
ulimit: usage: ulimit [-SHacdfilmnpqstuvx] [limit]
brutus:~ nsmc$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
max locked memory (kbytes, -l) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) 256
pipe size (512 bytes, -p) 1
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 266
virtual memory (kbytes, -v) unlimited
As you can see, there are very tight limits on this system for the number of processes a user can run, as well as the number of files any of those processes can have open.
These values can be set using a basic syntax:
#ulimit -n 9162
However, they won't survive a reboot. Since these limits are tied to the shell process that invokes them, you need to set them in /etc/bashrc (or whatever your shell takes its initialization parameters from) in order to have them come up automatically.