C++进程数量的限制
C++進程數(shù)量的限制
- 最大理論數(shù)
- 可創(chuàng)建的實際數(shù)
最大理論數(shù)
1.每個進程都要在全局段描述表GDT中占據(jù)兩個表項
1.每個進程的局部段描述表LDT都作為一個獨立的段而存在,在全局段描述表GDT中要有一個表項指向這個段的起始地址,并說明該段的長度以及其他一些參數(shù)
2.每個進程還有一個TSS結(jié)構(gòu)(任務(wù)狀態(tài)段)也是一樣 所以,每個進程都要在全局段描述表GDT中占據(jù)兩個表項
2.GDT容量?
1.段寄存器中用作GDT表下標的位段寬度是13位,所以GDT中可以有2^13=8192個描述項
2.除一些系統(tǒng)的開銷(例如GDT中的第2項和第3項分別用于內(nèi)核 的代碼段和數(shù)據(jù)段,第4項和第5項永遠用于當前進程的代碼段和數(shù)據(jù)段,第1項永遠是0,等等)以外,尚有8180個表項可供使用。所以理論上系統(tǒng)中最大的進程數(shù)量是8180/2=4090
可創(chuàng)建的實際數(shù)
1.linux內(nèi)核通過進程標識符PID來標識進程,為了與老版本的Unix或者Linux兼容,PID的最大值默認設(shè)置為32768。可以通過cat /proc/sys/kernel/pid_max查看PID的最大值: bash chenximing@chenximing-MS-7823:~$ cat /proc/sys/kernel/pid_max 32768
2.可以通過下面方式修改最大PID
1.首先,ulimit -u 新值
2.然后,還需設(shè)置內(nèi)核參數(shù)kernel.pid_max:sysctl -w kernel.pid_max=新值
總結(jié)
以上是生活随笔為你收集整理的C++进程数量的限制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中国航天员大队有多厉害?
- 下一篇: c++线程数量的限制