首页
社区
课程
招聘
关于Win2003实际最大进程数
发表于: 2009-10-6 17:38 10402

关于Win2003实际最大进程数

2009-10-6 17:38
10402
理论上系统中的最大进程数=4090
  每个进程的局部段描述表LDT都作为一个独立的段而存在,在全局描述表GDT中要有一个表项指向这个段的起始地址,并说明改断的长度和其他参数。此外每个进程还要有一个TSS结构(任务状态段)。每个进程要在全局段描述表中占据这两个表项。GDT容量有多大呢?段寄存器中用作GDT表下标的位段宽度是13位,所以有8192个描述项,除一些系统开销外,还有8180个表项可用,所以理论上系统中最大进程数是4090

我手工测试。单用户下只能开400多个进程,继续开程序的话。看不到进程递增。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 251
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
你的理论貌似是错误的
2009-10-6 18:34
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
那请指点下。谢谢
2009-10-6 19:04
0
雪    币: 251
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
印象中不是每个进程都有LDT,而所有进程共享一个TSS
windows正常运行时并不使用硬件支持的任务切换
实际上限制进程数的可能是各种内存池的大小
2009-10-6 19:26
0
雪    币: 214
活跃值: (27)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
到底那个对 谁出来说下
2009-10-6 21:22
0
雪    币: 212
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
今天在看Linux源代码,突然想到这个问题。
只有Google到这里还算靠谱……但也没结论啊,郁闷郁闷
2010-4-30 09:23
0
雪    币: 47
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
看进程创建相关源码时,没见到过进程数限制的相关代码
2010-4-30 17:26
0
雪    币: 7651
活跃值: (523)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
8
同意这个。。。
你开100多进程试试就知道了,在达到理论的最大进程数之前,内存就已经不够用了~
2010-4-30 23:15
0
游客
登录 | 注册 方可回帖
返回
//