在linux下进行业务开发的时候,尤其是在应用第三方包的时候,首先要分析进程中的线程数目,查看进程的线程数对于开发或者是运维都是一个必备的技能。
进程的id 也就是 pid,由于linux中线程和进程都有各自的进程描述符,本质上进程和线程都是 clone()产生的,对于线程来说只要不查看线程所在进程的组号(tid),我们都把线程的id 也叫做pid。
ps -aux |grep test :查看test进程的pid
ps -T -p 58065 :查看进程号58065 的所有线程的情况,只不过一个事静态的,另一个是动态的罢了。
top -T -p 58065
另一个神器是 htop:交互式的界面
cat /proc/58065/status 这种方法也是可以的


接下来看htop界面

然后介绍中间部分:从左到右依次介绍各项代表的含义。
PID 表示进程的标识号。
USER 表示运行此进程的用户。
PRI 表示进程的优先级。
NI 表示进程的优先级别值,默认的为0,可以进行调整。
VIRT 表示进程占用的虚拟内存值。
RES 表示进程占用的物理内存值。
SHR 表示进程占用的共享内存值。
S 表示进程的运行状况,R表示正在运行、S表示休眠,等待唤醒、Z表示僵死状态。
%CPU 表示该进程占用的CPU使用率。
%MEM 表示该进程占用的物理内存和总内存的百分比。
TIME+ 表示该进程启动后占用的总的CPU时间。
COMMAND 表示进程启动的启动命令名称。下面详细介绍下帮助文档,介绍各个参数代表的含义。
F1 或者h 查看帮助文档。
F2 或者S 设置htop
/ 或者F3 搜索进程。
\ 或者F4 增量进程过滤器。
t 或者F5 显示树形结构。
F6 +,- 按照某个指标进行排序。
] 或者F7 可提高nice值可以提高对应进程的优先级
[ 或者F8 可减少nice值可以提高对应进程的优先级
k 或者 F9 杀掉进程。
q 或者F10 结束htop。
u 只显示一个给定的用户的进程。
H 显示或隐藏用户线程。
K 显示或隐藏内核线程。
F 跟踪进程。
P 按CPU 使用排序。
M 按内存使用排序。
T 按Time+ 使用排序。。。。。
在Linux开发中,查看进程线程数至关重要。通过`ps`、`top`、`htop`等命令能动态监控进程及其线程,例如使用`ps -aux |grep test`查找进程PID,`ps -T -p 58065`查看指定PID的线程,或者使用交互式的`htop`工具。
1275

被折叠的 条评论
为什么被折叠?



