iamrohitbanga/ds_and_algos — comment on commit 83883c3a10b0c09c001339ff14d58c27ac516515
File:  line 0
By iamrohitbanga:

So on my system this is what happens:
$ cat /proc/sys/fs/file-max
798224

May be there was a limit on older kernels but programs like database would really require at least hundreds of files open at any time.
Also sockets are also mapped using file descriptors. Servers would require lots of file descriptors to service clients. Of course this restriction would not be worrisome for all because servers can choose to use a fork like model in place of async io.