本文由我司收集整编,推荐下载,如有疑问,请与我司联系
如何在Linux 中统计一个进程的线程数
2016/06/29 72 问题: 我正在运行一个程序,它在运行时会派生出多个线程。我想知道程序在运行时会有多少线程。在Linux 中检查进程的线程数最简单的方法是什么?
如果你想看到Linux 中每个进程的线程数,有以下几种方法可以做到这一点。 方法一: /proc proc 伪文件系统,它驻留在/proc 目录,这是最简单的方法来查看任何活动进程的线程数。/proc 目录以可读文本文件形式输出,提供现有进程和系统硬件相关的信息如CPU、中断、内存、磁盘等等.
$ cat /proc/ pid /status 上面的命令将显示进程pid 的详细信息,包括过程状态(例如, sleeping, running),父进程PID,UID,GID,使用的文件描述符的数量,以及上下文切换的数量。输出也包括进程创建的总线程数如下所示。
Threads: N 例如,检查PID 20571进程的线程数:
$ cat /proc/20571/status
输出表明该进程有28个线程。
或者,你可以在/proc//task 中简单的统计子目录的数量,如下所示。
一个线程可以包含多个进程 $ ls /proc/ pid /task | wc 这是因为,对于一个进程中创建的每个线程,在/proc/ pid /task中会创建一个相应的目录,命名为其线程ID。由此在/proc/ pid /task中目录的总数表示在进程中线程的数目。
方法二: ps 如果你是功能强大的ps 命令的忠实用户,这个命令也可以告诉你一个进程(用“H”选项)的线程数。下面的命令将输出进程的线程数。“h”选项需要放在前面。
$ ps hH p pid | wc -l 如果你想监视一个进程的不同线程消耗的硬件资源(CPU memory),请参阅此教程。
tips:感谢大家的阅读,本文由我司收集整编。仅供参阅!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论