查看linux有多少线程总数,linux线程总数
進程關(guān)聯(lián)線程數(shù)統(tǒng)計說明
Linux 系統(tǒng)下,可以通過以下三種方式查詢應(yīng)用程序(進程)創(chuàng)建了多少線程(thread)。
通過 /proc/$PID/status 進行查看
通過 /proc/$PID/task 目錄下的目錄數(shù)判斷線程數(shù)量
通過 ps 命令統(tǒng)計線程
通過 /proc/$PID/status 進行查看
首先,通過 ps 等指令,查詢目標(biāo)進程的進程 ID(PID):
#?以?ssh?進程為例
ps?-ef?|?grep?sshroot
874?????1??0?May31??????????00:00:01?/usr/sbin/sshd?-Droot
3957???874??0?09:59??????????00:00:00?sshd:?root@pts/0root
3993??3959??0?09:59?pts/0????00:00:00?grep?—color=auto?ssh
#?第二列即為相應(yīng)進程的?PID?號
然后,通過如下指令,結(jié)合相應(yīng)進程的 PID 查詢其已創(chuàng)建線程數(shù):
格式:cat?/proc/$PID/status
示例:
$?cat?/proc/874/status?|?grep
ThreadThreads:????1
#?說明當(dāng)前該進程創(chuàng)建的線程數(shù)為?1
通過 /proc/$PID/task 目錄下的目錄數(shù)判斷線程數(shù)量
進程每創(chuàng)建一個線程,系統(tǒng)會在 /proc/$PID/task 目錄下創(chuàng)建一個子目錄,目錄名即為線程 ID。通過統(tǒng)計相應(yīng)進程對應(yīng) task目錄下的子目錄數(shù)量即可統(tǒng)計出線程數(shù)量。操作說明如下。
首先,同樣的,參閱前述說明,通過 ps 等指令,查詢目標(biāo)進程的進程 ID(PID)。
然后,通過如下指令,結(jié)合相應(yīng)進程的 PID 查詢其已創(chuàng)建線程數(shù):
格式:
ls?/proc/$PID/task?|?wc?-l
示例:
$?ls?/proc/874/task?|?wc?-l
#?返回的數(shù)值即為相應(yīng)進程創(chuàng)建的線程數(shù)。
通過 ps 命令統(tǒng)計線程tgps
通過 ps 指令也可以統(tǒng)計進程關(guān)聯(lián)線程數(shù)。說明如下。
首先,同樣的,參閱前述說明,通過 ps 等指令,查詢目標(biāo)進程的進程 ID(PID)。
然后,通過如下指令,結(jié)合相應(yīng)進程的 PID 查詢其已創(chuàng)建線程數(shù):
格式:
ps?hH?p?$PID?|?wc?-l
參數(shù)說明:
-h?表示不顯示標(biāo)題
-H?表示顯示進程的層級關(guān)系
$PID?是相應(yīng)進程的進程號
示例:
$?ps?hH?p?874?|?wc?-l
#?返回的數(shù)值即為相應(yīng)進程創(chuàng)建的線程數(shù)。
Linux 系統(tǒng)無法創(chuàng)建線程錯誤原因及解決方法
問題描述: ?業(yè)務(wù)軟件或系統(tǒng)日志中可能出現(xiàn)類似如下日志信息:
unable to create new native thread
問題分析: ?出現(xiàn)該錯誤,通常是由于系統(tǒng)無法創(chuàng)建更多進程所致??梢允褂萌缦轮噶畈榭串?dāng)前系統(tǒng)最大可創(chuàng)建線程數(shù)。
指令:
ulimit?-a?|?grep
示例輸出:
$?ulimit?-a?|?grep
processesmax?user?processes?(-u)?7812#?max?user?processes
右側(cè)的數(shù)值即表示當(dāng)前單用戶可創(chuàng)建的最大線程總數(shù)
處理辦法: ?根據(jù)操作系統(tǒng)的不同,可以參閱
該文檔修改系統(tǒng)配置文件,調(diào)整最大可創(chuàng)建進程數(shù)。
總結(jié)
以上是生活随笔為你收集整理的查看linux有多少线程总数,linux线程总数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 音视频开发之旅(41)-天空盒
- 下一篇: C语言使用信号量(Linux)