Normal programs don't open up many descriptors at all, and so there are some latent problems that you may experience should you start running applications that require many descriptors to be used.
Operating systems enforces a limit on the number of descriptors that a program can have open at a time. There are typically three limits involved here. One is a kernel limitation, depending on your operating system you will either be able to tune the number of descriptors available to higher numbers (this is frequently called FD_SETSIZE). Or you may be stuck with a (relatively) low amount. The second limit is called the hard resource limit, and it is sometimes set by root in an obscure operating system file, but frequently is the same as the kernel limit. The third limit is called the soft resource limit. The soft limit is always less than or equal to the hard limit.
For example, the hard limit may be 1024, but the soft limit only 64. Any user can raise their soft limit up to the hard limit. Root can raise the hard limit up to the system maximum limit. The soft limit is the actual limit that is used when enforcing the maximum number of files a process can have open.
To summarize:
You control the hard and soft limits using the limit (csh) or ulimit (sh) directives. See the respective man pages for more information. For example you can probably use ulimit -n unlimited to raise your soft limit up to the hard limit. You should include this command in a shell script which starts your application.
Unfortunately, it's not always this simple. As mentioned above, you will probably run into some system limitations that will need to be worked around somehow.
To view the file descriptors limits (soft and hard limits)
/usr/bin/ulimit -n (soft limit) /usr/bin/ulimit -H -n (hard limit)
To change these defaults, edit /etc/system and add the following lines:
Increase system file descriptor limits
The first one sets the soft limit (the example actually keeps it at the default) and the second line icreases the default hard limit from 1024 to 4096.
Reboot the system for the changes to the hard limits to take effect.