Linux最大線程數限制及當前線程數查詢

1、總結系統限制有:
    /proc/sys/kernel/pid_max #查系統支持的最大線程數,一般會很大,相當於理論值

    
    /proc/sys/kernel/threads-max

    
    max_user_process #系統限制某用戶下最多可以運行多少進程或線程,使用命令:ulimit -u

    

    注:修改max_user_process的數值,只需要修改/etc/security/limits.conf即可,但是這個參數需要修改/etc/security/limits.d/90-nproc.conf

    附錄:
  附錄1:centos 6.*可以修改/etc/security/limits.d/90-nproc.conf
  我這邊是通過修改/etc/security/limits.conf,在最後添加
  * soft nproc 65535
  * hard nproc 65535

    查看默認的線程棧大小,單位是字節(Bytes),使用命令:ulimit -s

    
    /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 進程號 | wc -l

# top -H 進程號 | wc -l

上面用的是管道,關於管道:管道符號"|"左邊命令的輸出作爲右邊命令的輸入


4、查詢當前整個系統已用的線程或進程數
pstree -p | wc -l

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章