Thursday, January 12, 2023

[Linux] 最大執行緒數限制及當前執行緒數查詢

 1、總結系統限制有:

/proc/sys/kernel/pid_max #查系統支援的最大執行緒數,一般會很大,相當於理論值

/proc/sys/kernel/thread-max

max_user_process(ulimit -u) #系統限制某使用者下最多可以執行多少程序或執行緒

/proc/sys/vm/max_map_count

硬體記憶體大小



2、Java虛擬機器本身限制:

-Xms #intial java heap size

-Xmx #maximum java heap size

-Xss #the stack size for each thread



3、查詢當前某程式的執行緒或程序數

pstree -p `ps -e | grep java | awk '{print $1}'` | wc -l

pstree -p 3660 | wc -l



4、查詢當前整個系統已用的執行緒或程序數

pstree -p | wc -l


1、 cat /proc/${pid}/status


2、pstree -p ${pid}


3、top -p ${pid} 再按H 或者直接輸入 top -bH -d 3 -p ${pid}


top -H

手冊中說:-H : Threads toggle

加上這個選項啟動top,top一行顯示一個執行緒。否則,它一行顯示一個程序。


4、ps xH

手冊中說:H Show threads as if they were processes

這樣可以檢視所有存在的執行緒。


5、ps -mp <PID>

手冊中說:m Show threads after processes

這樣可以檢視一個程序起的執行緒數。


使用 bash shell 監測某個 daemon 的執行緒數量

No comments:

Post a Comment

n8n index

 【n8n免費本地端部署】Windows版|程式安裝x指令大補帖  【一鍵安裝 n8n】圖文教學,獲得無限額度自動化工具&限時免費升級企業版功能