admin管理员组

文章数量:1122847

Windows系统最大线程数到底取决于什么?

OS能启动的最大线程数跟“系统类型”、“系统位数”有关,跟最大物理内存无关。
以32位的windows操作系统为例:

  1. 进程默认内存: 一个进程中最大内存为4GB,2G为系统预留,用户可用内存空间只有2G;
  2. 默认最大线程数: 默认情况下,一个线程的栈要预留1M的内存空间,所以理论上一个进程中最多可以开2048个线程,但是内存当然不可能完全拿来作线程的栈,所以实际数目要比这个值要小。
  3. 扩大用户可使用内存: 微软允许通过在boot.ini 中加入/3GB参数,将操作系统保留的2GB内存减少到1GB,从而将分配给进程的内存提高到3GB
  4. 缩小栈内存: 如将默认栈的大小改成512K,这样理论上最多就可以开4096个线程。

本文标签: 线程性能测试系统Windows