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位不同)共同決定的。
相關文章
- windows 下一個程式能開多少個執行緒Windows執行緒
- 被問懵了:一個程式最多可以建立多少個執行緒?執行緒
- 啟動一個最簡單的Java main程式時,有多少個執行緒被建立JavaAI執行緒
- 一個表空間最多有多少個資料檔案和file#與rfile#的關係
- JVM原始碼分析之一個Java程式究竟能建立多少執行緒JVM原始碼Java執行緒
- 多執行緒,到底該設定多少個執行緒?執行緒
- 遊戲伺服器啟動多少個執行緒合適遊戲伺服器執行緒
- 這麼多有趣的小程式!不佔記憶體,都怪太晚知道!記憶體
- 程式知多少?
- 查詢有多少JOB正在執行,程式被hang住
- 如何查詢一個程式下面的執行緒數(程式和執行緒區別)執行緒
- 換一個燈泡,要多少個程式設計師?程式設計師
- 面試問我,建立多少個執行緒合適?我該怎麼說面試執行緒
- 做一個微信購物小程式需要多少錢?
- 程式執行緒篇——程式執行緒基礎執行緒
- 程式-程式-執行緒執行緒
- JVM程式用一個主執行緒來執行main()方法JVM執行緒AI
- Linux執行緒(程式)數限制Linux執行緒
- 執行緒(一)——執行緒,執行緒池,Task概念+程式碼實踐執行緒
- linux 實時檢視一個 python 程式有幾個執行緒LinuxPython執行緒
- python 程式、執行緒 (一)Python執行緒
- 執行緒程式設計(一)執行緒程式設計
- 利用多執行緒寫一個賣票程式執行緒
- 做一個類似賽博賞小程式大概多少錢
- Linux 執行緒(程式)數限制分析Linux執行緒
- Linux程式多執行緒入門Linux執行緒
- linux 多執行緒程式設計Linux執行緒程式設計
- linux 檢視 程式 執行緒數Linux執行緒
- 程式設計師程式設計需要多少個小時?程式設計師
- java執行緒程式設計(一):執行緒基礎(轉)Java執行緒程式設計
- 多執行緒------執行緒與程式/執行緒排程/建立執行緒執行緒
- Linux中程式與程式、執行緒的區別!Linux執行緒
- 程式與執行緒的一個簡單解釋執行緒
- 分享一個c執行緒池實現程式碼執行緒
- 作為一個程式設計師,需要學習多少技能?程式設計師
- Linux程式管理、程式建立、執行緒實現、殭屍程式Linux執行緒
- [短文速讀 -5] 多執行緒程式設計引子:程式、執行緒、執行緒安全執行緒程式設計
- 100行Java程式碼構建一個執行緒池Java執行緒