rah*_*313 1 windows window-handles
我有一个应用程序,一次运行10000个线程.每个线程打开相同的文件.问题是每当我使用10K线程启动应用程序时,应用程序在创建500个线程(文件句柄)后终止.我在Linux上尝试了相同的应用程序,并在调整ulimit选项后运行正常.对于进程可以在Windows中打开的文件句柄是否有任何限制?我一直在使用Google和所有我得到的是改变的条目CONFIG.NT文件ç\ Windows\System32下....
但我发现64位操作系统不存在所述文件.有什么办法可以在Windows中更改限制吗?
我的操作系统是WINDOWS 7 64位.
小智 5
要查看应用程序在给定时间打开的句柄总数(不仅仅是文件句柄):只是为了确保它是句柄限制.
从https://technet.microsoft.com/en-us/sysinternals/processexplorer.aspx下载Process Explorer 确保设置适当的刷新速度.打开它并转到查看 - >选择列 - >按"处理性能"选项卡,然后单击"处理计数".
对于Windows 7 x64位,进程可以同时打开16.711.680个句柄.如果您想查看自己的限制,请阅读以下内容.使用Windows Internals Book(https://technet.microsoft.com/en-us/sysinternals/bb963901.aspx)中的工具检查.工具的名称是TestLimit,您可以在Book Tools标题下的页面下部找到它.
据我所知,没有办法增加Windows操作系统的这个限制,我也看了.
正如其他人所说,想一想最小化大量线程的方法.也许您的应用程序关闭文件,但不关闭句柄.我的建议是,如果你真的需要使用非常大的句柄数,每次句柄数约为16米时就开始一个新进程.
| 归档时间: |
|
| 查看次数: |
13682 次 |
| 最近记录: |