免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4459 | 回复: 11
打印 上一主题 下一主题

linux有没有最大的进程号限制? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-08-17 09:53 |只看该作者 |倒序浏览
如果一台防火墙,总也不重起,进程pid总在增加,会不会出错啊?

论坛徽章:
0
2 [报告]
发表于 2006-08-17 10:50 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
3 [报告]
发表于 2006-08-17 11:38 |只看该作者
记得早期的kernel最多是1024个进程,用户能起1023个,还有一个是恢复用的。
不过pid不一定和进程数一样递增吧,

论坛徽章:
0
4 [报告]
发表于 2006-08-17 12:15 |只看该作者
pid 增加到 65535 会反复使用, 难道你会 64k 个程序一起跑?

论坛徽章:
0
5 [报告]
发表于 2006-08-17 12:27 |只看该作者
原帖由 connet 于 2006-8-17 12:15 发表
pid 增加到 65535 会反复使用, 难道你会 64k 个程序一起跑?

>>
>>
>>他是在说一种极端的情况下,例如服务器不正常状态下,或者被恶意使用的情况下
>>
>>

论坛徽章:
0
6 [报告]
发表于 2006-08-17 17:06 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
sharkhuang 该用户已被删除
7 [报告]
发表于 2006-08-19 16:37 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
8 [报告]
发表于 2006-08-20 08:41 |只看该作者

和内核的进程管理有关

在2.4.20内核
pid的上限是32768
某些BUG程序当pid超过32000后会变僵尸
到2.6内核
进程表上限好像是1G

在2.4内核编服务器程序要考虑进程表溢出问题, 短时间大量创建销毁线程,
会让pid在2分钟内窜升到32000以上, 这时系统会假死几秒, 直到进程表被刷新
到2.6内核基本上不会碰上这个问题

论坛徽章:
0
9 [报告]
发表于 2006-08-21 08:48 |只看该作者
2.6 上也是  32767
执行 while (true) do ls &>/dev/null; done;
在另一终端 ps -e 看。

论坛徽章:
0
10 [报告]
发表于 2006-08-21 10:01 |只看该作者
我觉得上面各位老兄的回答似乎都不是很完整。
进程号是有最大的,如果你同时跑大量的进程(由于系统不同,该数值也会不同),理论上事会出现溢出的,但是我们往往不会同时运行大量的进程,所以系统设计的上限制绝大多数情况下是不会溢出的。

但是我们虽然不会同时运行大量程序,但是我们有可能在一个月或者几个月的时间里运行了大量的程序,这些程用时可能都比较短,这时候进程的pid就很可能已经达到了这个上限值,这时候系统会回收利用那些已经用过的,现在没有在使用的闲置的数值较小的pid。利用这个机制,linux系统可以运行甚至几年的时间都不需要关机。那些服务器就是那样的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP