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
這樣可以檢視一個程序起的執行緒數。
No comments:
Post a Comment