Linux 查看进程和线程CPU和内存占用情况

文章介绍了如何在Linux系统中使用top和free命令检查程序的内存占用情况,以及利用ps和/proc目录来查看进程及其内部线程的信息。通过pid可以获取进程的详细状态,包括线程ID和数量,从而更好地监控系统资源使用。

Linux 查看进程有哪些线程

首先通过进程名称,假设为SensorDev 找到pid号。

  • ps -p {pid} -T 可以得到该进程里面运行的各线程的id(表现出来是spid)、对应的线程名称(不超过16字符)、运行时间等;
  • cat /proc/{pid}/status |grep Threads 只能显示线程的个数。
  • top -p {pid},然后按H

top示例
在这里插入图片描述

ps示例
在这里插入图片描述

/proc/{pid}下记录了每个进程运行时的所有关键信息,那这些信息是谁来生成的呢,答案是Linux内核。

Linux内核在执行你写的程序时,将所有关键信息写到了/proc/{pid}下,因此你可以通过查看这个目录下的信息来或者进程的运行时行为,这对于那些好奇内核是如何运行程序的同学是非常重要的。

你可以把这个目录下的信息理解为Linux内核在执行你写的程序时所打印的Log。通过该Log你就可以知道进程开启了多少线程了。

知道了进程号再去查找对应的线程的简单方式有如下两个:

(1)ps -p {pid} -T 可以得到该进程里面运行的各线程的id(表现出来是spid)、对应的线程名称(不超过16字符)、运行时间等;
(2)/proc/{pid}/status |grep Threads 只能显示线程的个数。

Linux 查看程序内存占用情况 top和free等命令

Linux 查看进程、线程数量