美文网首页
[总结] linux下查看线程数的方法

[总结] linux下查看线程数的方法

作者: mr_franklin | 来源:发表于2017-01-05 18:25 被阅读3927次
  1. 通过/proc伪文件系统。
cat /proc/{pid}/status

其中Threads后面跟的就是线程数。
或者:通过

ls /proc/{pid}/task | wc -l
  1. top命令后面跟-H,会打印出所有线程列表
top -H
top -H -p {pid}
  1. ps 后面加上H,能打印某个进程的所有线程
ps hH p {pid} | wc -l

显示结果:

PID TTY      STAT   TIME COMMAND
17721 pts/1    Sl     0:00 /usr/java/jdk1.8.0_60/bin/java -Djava.util.logging.config.file=/mnt/deploy/apache-tomcat-8.0.35/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoader
17721 pts/1    Sl     0:00 /usr/java/jdk1.8.0_60/bin/java -Djava.util.logging.config.file=/mnt/deploy/apache-tomcat-8.0.35/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoader
17721 pts/1    Sl     0:00 /usr/java/jdk1.8.0_60/bin/java -Djava.util.logging.config.file=/mnt/deploy/apache-tomcat-8.0.35/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoader

使用ps命令来查看进程的时候,进程状态分别对应的含义如下:

D 不可中断睡眠 (通常是在IO操作) 收到信号不唤醒和不可运行, 进程必须等待直到有中断发生
R 正在运行或可运行(在运行队列排队中)
S 可中断睡眠 (休眠中, 受阻, 在等待某个条件的形成或接受到信号)
T 已停止的 进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行
W 正在换页(2.6.内核之前有效)
X 死进程 (未开启)
Z 僵尸进程 进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放BSD风格的
< 高优先级(not nice to other users)
N 低优先级(nice to other users)
L 页面锁定在内存(实时和定制的IO)
s 一个信息头
l 多线程(使用 CLONE_THREAD,像NPTL的pthreads的那样)
+ 在前台进程组

  1. 使用pstree命令
// 打印所有进程及其线程
pstree -p 
// 打印某个进程的线程数
pstree -p {pid} | wc -l
  1. 修改某个账户的可允许的线程最大数
$ cat /etc/security/limits.d/20-nproc.conf 

# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.
*          soft    nproc     1024   // 将此处修改成unlimited或者其他数值
root       soft    nproc     unlimited

如果达到了系统允许的最大值,再创建线程时会报错:此时就连登陆ssh都可能登不进去。。~

-bash: fork: retry: 没有子进程 
-bash: fork: retry: 资源暂时不可用

参考:
http://www.codeceo.com/article/linux-find-thread.html
http://www.cnblogs.com/johnchain/p/3296435.html
http://haichao072450.lofter.com/post/1cc0088d_3d6db59

相关文章

网友评论

      本文标题:[总结] linux下查看线程数的方法

      本文链接:https://www.haomeiwen.com/subject/wubzvttx.html