查看線程數量


查看進程狀態

  • ps命令工具顯示的是進程的瞬間狀態,並不動態連續顯示
    • 查看進程啟動時間等參數:ps -eo pid,lstart,etime,cmd | grep knn
  • 如果想對進程狀態進行實時監控應該用top命令

查看線程數量

  • top -H -p pid

    • 開啟線程查看
    • 在top運行時也可以通過按“H”鍵將線程查看模式切換為開或關
  • pstree -p pid

  • pstree -p | wc -l

  • ps -mq pid | wc -l

  • ps -efL

    • -L:顯示線程信息(輕量級進程)
    • 包含LWP(線程ID)列和NLWP(線程數)
  • ps -L p pid; ps -L q pid

  • ps -L -C cmd; ps -T -C cmd

    • SPID與LWP:均輕量級進程(線程)的ID號
  • ps -eo pid,lstart,etime,cmd | grep XXX

    • -o選項與o選項用法:由用戶自定義格式輸出進程信息
    • 單-o選項只輸出用戶指定的字段下 當前用戶會話 中打開的進程
    • 單純使用o選項則輸出用戶指定的字段下 所有終端用戶會話 中打開的進程。

查看系統信息

  • 查看系統最大線程數
    • cat /proc/sys/kernel/threads-max

創建線程失敗的原因

  • 內存不足
  • ulimit的限制
    • max memory size:最大內存限制,在64位系統上通常都設置成unlimited
    • max user processes:每用戶總的最大進程數(包括線程?why)
    • virtual memory: 虛擬內存限制,在64位系統上通常都設置成unlimited
  • 參數sys.kernel.threads-max限制
    • 系統全局的總線程數限制,如上
  • 參數sys.kernel.pid_max限制
    • 系統全局的PID號數值的限制
  • 參數sys.vm.max_map_count限制
    • 單個程序所能使用內存映射空間的數量限制
$ ulimit -a
core file size          (blocks, -c) unlimited
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 514529
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 655350
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 514529
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

$ cat /proc/sys/kernel/threads-max
1029059

$ cat /proc/sys/kernel/pid_max
4194303

$ cat /proc/sys/vm/max_map_count
65530

top

free

du

df

代碼問題

  • 進程下的線程有3000+

修改limits.conf —— 血的教訓

  • 修改 /etc/security/limits.conf
  • 在./bashrc中添加ulimit -u 355350
  • 最后導致無法

參考資料

linux中高並發socket最大連接數的優化詳解
Linux下查看某個進程的線程數量
Linux查看某個進程的線程
查看進程之ps命令
Linux最大線程數及最大進程數
Linux最大線程數限制及當前線程數查詢
淺談系統線程數限制
Linux中top顯示的信息詳解


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM