博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何在 Linux 中统计一个进程的线程数
阅读量:6215 次
发布时间:2019-06-21

本文共 823 字,大约阅读时间需要 2 分钟。

编译自:作者: Dan Nanni

原创: 译者: strugglingyouth
本文地址:

2015-9-17 10:29    收藏: 5    

 
 
 
 

问题: 我正在运行一个程序,它在运行时会派生出多个线程。我想知道程序在运行时会有多少线程。在 Linux 中检查进程的线程数最简单的方法是什么?

如果你想看到 Linux 中每个进程的线程数,有以下几种方法可以做到这一点。

方法一: /proc

proc 伪文件系统,它驻留在 /proc 目录,这是最简单的方法来查看任何活动进程的线程数。 /proc 目录以可读文本文件形式输出,提供现有进程和系统硬件相关的信息如 CPU、中断、内存、磁盘等等.

  1. $ cat /proc/<pid>/status

上面的命令将显示进程 <pid> 的详细信息,包括过程状态(例如, sleeping, running),父进程 PID,UID,GID,使用的文件描述符的数量,以及上下文切换的数量。输出也包括进程创建的总线程数如下所示。

  1. Threads: <N>

例如,检查 PID 20571进程的线程数:

  1. $ cat /proc/20571/status

输出表明该进程有28个线程。

或者,你可以在 /proc//task 中简单的统计子目录的数量,如下所示。

  1. $ ls /proc/<pid>/task | wc

这是因为,对于一个进程中创建的每个线程,在 /proc/<pid>/task 中会创建一个相应的目录,命名为其线程 ID。由此在/proc/<pid>/task 中目录的总数表示在进程中线程的数目。

方法二: ps

如果你是功能强大的 ps 命令的忠实用户,这个命令也可以告诉你一个进程(用“H”选项)的线程数。下面的命令将输出进程的线程数。“h”选项需要放在前面。

  1. $ ps hH p <pid> | wc -l

如果你想监视一个进程的不同线程消耗的硬件资源(CPU & memory),请参阅。

转载地址:http://awvja.baihongyu.com/

你可能感兴趣的文章
notepad++正则表达式例子
查看>>
[MicroPython]TurniBit开发板DIY自动窗帘模拟系统
查看>>
MySQL性能优化
查看>>
C# 自定义控件VS用户控件
查看>>
由String类的Split方法所遇到的两个问题
查看>>
算法系列15天速成——第十四天 图【上】
查看>>
phonegap入门–1 Android 开发环境搭建
查看>>
Ice_cream's world I
查看>>
org.apache.subversion.javahl.ClientException: svn: E155021: This client is too old to work with the
查看>>
Memcached 服务器端命令
查看>>
ExtJs之Ext.form.field.TimePicker DatePicker组合框
查看>>
移动前端开发基础与优化
查看>>
form表单中的带有name的标签直接转JSON
查看>>
Struts2之Action
查看>>
Python3.4 12306 2015年3月验证码识别
查看>>
使用Gitblit 在windows 上部署你的Git Server
查看>>
object pool
查看>>
SQL FOR XML
查看>>
9年经验,总结SEO职业瓶颈
查看>>
js 上一步 下一步 操作
查看>>