千金散尽还复来,莫使金樽空对月
Solaris thread limites
Solaris中LWP的数量限制可以这样计算:
Maximum = segkp_size / LWP内核堆栈大小
segkp_size是segkp内核地址空间段的大小,我们可以这样得到:
# kstat -n segkp
module:vmem
...
mem_total 2144879797 <- segkp_size
LWP内核堆栈的大小对于不同的操作系统是不一样的,
在UltraSPARC和x64体系结构中,LWP的内核堆栈大小是24k
对于32位应用程序来说,最大用户线程的数量受限于程序地址空间大小,
每个用户线程的堆栈大小是1Mb,32位应用程序的地址空间是4Gb,
这样最大用户线程数量就是4Gb/1Mb = 4000多个
而对于64位应用程序因为其地址空间的巨大,所以其数量限制基本上是不存在的.
Posted at 09:42下午 十一月 27, 2007 by Shu-Jun Allan Ou in 程序员 | 评论[0]
今日点击: 38