Linux中最多有多少程式?一個程式最多有多少執行緒?
Linux中最多有多少程式?一個程式最多有多少執行緒?
我們都知道程式的概念,它是CPU分配資源的載體,是程式執行的例項;也知道執行緒的概念,它是程式執行的最小單元,是程式中的一個實體用來執行程式,一個程式中有多個執行緒。
既然如此,我們可以想象,一個系統中的程式數量肯定是有上限的,不然系統資源就會不夠用了,同樣的道理,一個程式中的執行緒資源也是有上限的。那程式和執行緒的上限到底是多大呢?
Linux中最多可以有多少個程式?
一.Linux中有一個命令可以幫助我們檢視系統中的程式上限
[pigff@izbp13yd4r85qvk53t04mbz ~]$ ulimit -u
4096
這屬於軟限制,是可以改變的。也就是說在我的機器上最多可以有4096個程式,但是我可以通過改變這個引數的值來修改對於程式數量的軟限制,比如說用下面的命令將軟限制改到5120。
ulimit -u 5120
二.我們用pid_t來表示一個程式的pid,因此能表示的程式的範圍一定不會超過pid_t型別的大小
[pigff@izbp13yd4r85qvk53t04mbz ~]$ cat /proc/sys/kernel/pid_max
32768
pid_t實際上就是一個short型別變數,當然這裡能表示的範圍只是程式id最多表示到這麼多,這只是一個理論值,實際上,由於記憶體等系統資源的限制,根本不會同時有這麼多的程式存在。
一個程式中最多可以有多少個執行緒?
在上一篇文章Linux中執行緒佔用記憶體中,我們知道了建立一個執行緒會佔用多少記憶體,這取決於分配給執行緒的呼叫棧大小,可以用ulimit -s命令來檢視大小(一般常見的有10M或者是8M)。我們還知道,一個程式的虛擬記憶體是4G,在Linux32位平臺下,核心分走了1G,留給使用者用的只有3G,於是我們可以想到,建立一個執行緒佔有了10M記憶體,總共有3G記憶體可以使用。於是可想而知,最多可以建立差不多300個左右的執行緒。
因此,程式最多可以建立的執行緒數是根據分配給呼叫棧的大小,以及作業系統(32位和64位不同)共同決定的。
相關文章
- 被問懵了:一個程式最多可以建立多少個執行緒?執行緒
- 多執行緒,到底該設定多少個執行緒?執行緒
- 這麼多有趣的小程式!不佔記憶體,都怪太晚知道!記憶體
- linux 實時檢視一個 python 程式有幾個執行緒LinuxPython執行緒
- 高校“花式查寢”到底多有意思?
- 遊戲伺服器啟動多少個執行緒合適遊戲伺服器執行緒
- python 程式、執行緒 (一)Python執行緒
- Python——程式、執行緒、協程、多程式、多執行緒(個人向)Python執行緒
- 程式知多少?
- 程式-程式-執行緒執行緒
- 程式執行緒篇——程式執行緒基礎執行緒
- Linux中程式與程式、執行緒的區別!Linux執行緒
- JVM程式用一個主執行緒來執行main()方法JVM執行緒AI
- 執行緒(一)——執行緒,執行緒池,Task概念+程式碼實踐執行緒
- Linux程式與執行緒的區別Linux執行緒
- Linux執行緒與程式的區別Linux執行緒
- Linux程式執行緒學習筆記Linux執行緒筆記
- 簡述Linux 中程式與執行緒Linux執行緒
- 多執行緒------執行緒與程式/執行緒排程/建立執行緒執行緒
- Linux下程式與執行緒概念淺析Linux執行緒
- Linux C++ 多執行緒程式設計LinuxC++執行緒程式設計
- 面試問我,建立多少個執行緒合適?我該怎麼說面試執行緒
- [短文速讀 -5] 多執行緒程式設計引子:程式、執行緒、執行緒安全執行緒程式設計
- 做一個微信購物小程式需要多少錢?
- 程式與執行緒執行緒
- 執行緒與程式執行緒
- 程式,程式,執行緒的最形象理解(理解不了可以直接懟我)執行緒
- 多執行緒程式設計基礎(一)-- 執行緒的使用執行緒程式設計
- Java多執行緒001——一圖讀懂執行緒與程式Java執行緒
- Android程式框架:執行緒與執行緒池Android框架執行緒
- 程式執行緒篇——執行緒切換(上)執行緒
- 程式執行緒篇——執行緒切換(下)執行緒
- 執行緒、執行緒與程式、ULT與KLT執行緒
- 誕生記(一)——上線一個小程式最低要花多少錢?
- 程式間通訊(linux程式與執行緒學習筆記)Linux執行緒筆記
- 執行緒與程式之間有什麼關係?Linux執行緒與程式有什麼區別?執行緒Linux
- 轉載_Linux程式與執行緒的區別Linux執行緒
- 【linux】系統程式設計-5-執行緒Linux程式設計執行緒