WINDOWS *** 作系统中可以允许最大的线程数

WINDOWS *** 作系统中可以允许最大的线程数,第1张

这个问题的产生是因为windows32位系统,一个进程所能使用的最大虚拟内存为2G,而一个线程的默认线程栈StackSize为1024K(1M),这样当线程数量逼近2000时,2000*1024K=2G(大约),内存资源就相当于耗尽。

32位线程默认栈空间大小是1M,在我的64位的电脑上,32位的程序的最大虚拟内存是4G,所以线程数最多是4096个(4G/1M)。

64位的程序虚拟内存可达8T,目前来说可以支持一个巨大的线程数。但是受限于实际的物理内存大小。如果内存限制忽略不计的话,下面的表格可以最大线程数:

附:Win32将低区的2GB留给进程使用, 高区的2GB则留给系统使用。

Linux将高位1GB留给内核,低位3GB留给进程。

这种故障一般都是升级了主板的BIOS之后, WIN7或者VISTA的默认开机的核心数量会自动恢复到2个核心, 这样就出现所说的2核心被屏蔽的现象

运行MSCONFIG, 选择第二个标签BOOT, 然后点击"ADVANCED OPTIONS..."

然后点出附图的窗口, 在这里选择CORE=4, 然后OK, 之后会要求重启, 重启后4核8线程应该会被重新打开.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/9660975.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存