3

What is the current limit of the number of open files in Windows 10? In DOS the number is 15.

1
  • 3
    The number of files open while doing what and in what context?
    – Blackwood
    Sep 8 '18 at 3:27
6

Theoretically in 64-bit Windows the maximum number of handles that a process can open is 232, because handles have 32 significant bits. However in reality it has been limited to 16 777 216 (224) per process. On 32-bit Windows the limit is likely 216

To support 16-bit programs, 32-bit Windows only generates a handles that have 16 significant bits -- the 16 upper bits are ignored by the OS (even though programs are not to be taking advantage of this fact). So no program can interact with more than 216 objects, which is actually rather low.

However, in order to improve this, 64-bit Windows increased the number of significant bits in a handle to 32. But now that means that handles cannot be passed to 16-bit programs without loss of information. So 16-bit programs cannot run on 64-bit Windows.

Why can't a 64 bit OS run a 16 bit application?

However for a single process that uses the default C run-time libraries then the default limit is 512

The C run-time libraries have a 512 limit for the number of files that can be open at any one time. Attempting to open more than the maximum number of file descriptors or file streams causes program failure. Use _setmaxstdio to change this number.

File Handling

It's unclear the maximum number of total file handles for all processes in Windows

For network connection the maximum number of open files per session is 16 384. This can be checked with the net config server command

Further reading

The current file handle usage can easily be seen in task manager

task manager open handles

Note that in DOS the number can be changed depending on the settings in config.sys and not fixed at 15

  • FILES (DOS 2.0 and DR DOS 3.31 and higher; OS/2)
    • Specifies the number of files that can be opened at once.
  • FILESHIGH (MS-DOS 7.0 and DR-DOS 7.02 and higher[6] and FreeDOS only)
    • Same as FILES, but explicitly loads file handles into upper memory.

https://en.wikipedia.org/wiki/CONFIG.SYS#CONFIG.SYS_directives

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.