You likely need to increase the maximum number of file handles on your machine.
If you're running a machine with sysctl on it, it's pretty easy.
First, do a 'sysctl -a | grep fs.' to list all the current kernel settings for the file system. The two we want are fs.file-max and (on older kernels) fs.inode-max. Note that on the 2.4 kernels I don't think you have to worry about fs.inode-max anymore, but I'm not sure.
To see if you're running out of file handles, run your apache webserver and take a look at what fs.file-nr and see if it's something like 4096 306 4096 I.e. where the first and last numbers are the same. If so, then likely you are running out of file handles.
edit /etc/sysctl.conf and enter two lines like this:
fs.file-max = 32768
fs.inode-max = 32768
Then do a sysctl -p to load the new values and let us know how it works.