centos8:linux平台查看线程(ps/pstree/top)
一,ps/pstree/top命令所属的rpm包
pstree所属的包
[root@blog ~]# whereis pstree
pstree: /usr/bin/pstree /usr/bin/pstree.x11 /usr/share/man/man1/pstree.1.gz
[root@blog ~]# rpm -qf /usr/bin/pstree
psmisc-23.1-3.el8.x86_64
ps所属的包
[root@blog ~]# whereis ps
ps: /usr/bin/ps /usr/share/man/man1/ps.1.gz /usr/share/man/man1p/ps.1p.gz
[root@blog ~]# rpm -qf /usr/bin/ps
procps-ng-3.3.15-1.el8.x86_64
top所属的包
[root@blog ~]# whereis top
top: /usr/bin/top /usr/share/man/man1/top.1.gz [root@blog ~]# rpm -qf /usr/bin/top
procps-ng-3.3.15-1.el8.x86_64
说明:这几个命令都是系统内置的,
如果误删除的话可以用dnf安装
说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest
对应的源码可以访问这里获取: https://github.com/liuhongdi/
说明:作者:刘宏缔 邮箱: 371125307@qq.com
二,用ps查看线程
1,用-T显示线程
#-T:Show threads, possibly with SPID column:显示线程,可能会显示SPID列
#-p: 指定进程id
[root@blog ~]# ps -T -p 8240
PID SPID TTY TIME CMD
8240 8240 ? 00:21:58 redis-server
8240 8241 ? 00:00:00 redis-server
8240 8243 ? 00:00:00 redis-server
8240 8244 ? 00:00:00 redis-server
2,线程id:SPID和LWP的区别
说明:显示线程的几个参数:
THREAD DISPLAY
H Show threads as if they were processes.
-L Show threads, possibly with LWP and NLWP columns.
m Show threads after processes.
-m Show threads after processes.
-T Show threads, possibly with SPID column.
-L和-T的区别:字段名不同
一个是SPID
一个是LWP
LWP:轻量级进程(线程)的ID号。
NLWP:进程中的线程数量。
两者都是线程id
可以参考ps的手册:
[root@blog ~]# man ps
其中对于LWP的描述:
...
lwp LWP light weight process (thread) ID of the dispatchable entity (alias spid, tid)
...
说明: spid,tid,lwp都是线程id
SPID和LWP两者的区别在于:用-L显示LWP时能同时显示NLWP
3,用-L显示线程:
#-L:Show threads, possibly with LWP and NLWP columns
#-e:Select all processes:列出所有进程
#-f:Do full-format listing:显示完整的格式:
不加这个参数会有一些字段不显示,
增加此参数后字段显示完整
[root@blog ~]# ps -efL
UID PID PPID LWP C NLWP STIME TTY TIME CMD
root 8240 1 8240 0 4 Mar11 ? 00:21:58 /usr/local/soft/redis5/bin/redis-server 127.0.0.1:6379
root 8240 1 8241 0 4 Mar11 ? 00:00:00 /usr/local/soft/redis5/bin/redis-server 127.0.0.1:6379
root 8240 1 8243 0 4 Mar11 ? 00:00:00 /usr/local/soft/redis5/bin/redis-server 127.0.0.1:6379
root 8240 1 8244 0 4 Mar11 ? 00:00:00 /usr/local/soft/redis5/bin/redis-server 127.0.0.1:6379
可以看到NLWP这个数量是把主线程也计算在内了
三,用pstree查看线程
说明:pstree默认就打开线程的显示
#-p:显示进程id
[root@blog ~]# pstree -p
说明:加了-p参数,会把线程列出来,
否则只显示进程下线程的数量
...
├─redis-server(8240)─┬─{redis-server}(8241)
│ ├─{redis-server}(8243)
│ └─{redis-server}(8244)
...
#查看指定的进程id
[root@blog ~]# pstree -p 8240
redis-server(8240)─┬─{redis-server}(8241)
├─{redis-server}(8243)
└─{redis-server}(8244)
不想看线程也可以关掉
#-T: 关掉线程的显示
[root@blog ~]# pstree -T -p
四,用top查看线程
#-H :Threads-mode operation 打开线程的显示
[root@blog ~]# top -H
说明:top启动后也可以用H来打开关闭线程模式
五,查看centos的版本:
[root@blog ~]# cat /etc/redhat-release
CentOS Linux release 8.0.1905 (Core)
centos8:linux平台查看线程(ps/pstree/top)的更多相关文章
- Linux下查看线程数的几种方法汇总
Linux下查看线程数的几种方法汇总 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Linux下查看某个进程的线程数量 pstree命令以树状图显示进程间的关系(display ...
- 转:一个跨WINDOWS LINUX平台的线程类
来源:http://blog.csdn.net/dengxu11/article/details/7232681 继Windows下实现一个CThread封装类之后,这里我再实现一个跨WINDOWS ...
- 2017-06-30(ps pstree top kill w killall pkill)
ps(查看系统下所有进程) -a 显示一个终端的所有进程,除了会话引线 -u 显示进程的归属用户以及内存的使用情况 -x 显示没有控制终端的进程 -l 长格式显示,更加详细的信息 -e 显示所有的进程 ...
- (笔记)Linux 如何查看线程数最佳解决方案
背景:很多学linux的人都会使用ps查看进程状态,却一直不清楚如何查看线程的状态. 方法:可使用ps -a 或 ps -T命令查看 一.使用ps -a命令查看 比如拿我的测试进程./lc300-le ...
- 进程,内存,管理 ps,pstree,top,free,vmstat,iftop,lsof,查看网速
一些基础 不同进程之间,进行数据访问 同一主机:pipe 管道 socket 套接字文件 signal 信号 shm shared memory semaphore 信号量,一种计数器 不 ...
- linux下查看线程数的几种方法
1. cat /proc/${pid}/status 2.pstree -p ${pid} 3.top -p ${pid} 再按H 或者直接输入 top -bH -d 3 -p ${pid} t ...
- 查看系统进程:ps、top
1.ps命令:提供最近进程的快照.显示当前活跃进程的简要信息. 常见使用: (1)与grep命令配合查找是否有相应进程存活 ps -ef | grep ksmd ps -Af | grep ksmd ...
- Linux 下查看线程信息
1. 使用 pstree -p PID ps aux | grep firefox | grep -v grepcharles 26058 0.0 0.0 4908 1152 ? ...
- Linux - 进程管理,ps与top
一个运行的程序,可能有多个进程. PID进程ID. UID启动进程的ID. 进程所属组GID. 进程的状态R运行.S睡眠.Z僵尸. 父进程管理子进程,父进程终止的时候子进程也会终止. 常用的组合为: ...
随机推荐
- oracle之三RMAN概述
RMAN概述 6.1 rman的定义和功能: 1) Recovery Manager 2)建立备份和恢复的server process,在oracle server上做备份和恢复 3)rman 备份d ...
- 第1课 - make和makefile
第1课 - make 和 makefile 1. make make 是一个应用程序,位于 /usr/bin/make 目录下,make 有如下的功能: (1)解析源程序之间的依赖关系 (2)根据依赖 ...
- 1. spring5源码 -- Spring整体脉络 IOC加载过程 Bean的生命周期
可以学习到什么? 0. spring整体脉络 1. 描述BeanFactory 2. BeanFactory和ApplicationContext的区别 3. 简述SpringIoC的加载过程 4. ...
- 在 Flutter 中使用 TensorFlow Lite 插件实现文字分类
如果您希望能有一种简单.高效且灵活的方式把 TensorFlow 模型集成到 Flutter 应用里,那请您一定不要错过我们今天介绍的这个全新插件 tflite_flutter.这个插件的开发者是 G ...
- 2020JavaWeb之宝塔安装tomcat+nginx关于jsp处理问题
关于nginx反向代理,是将jsp文件转交给tomcat处理,nginx主要处理静态资源,nginx处理静态资源的效率相对于tomcat高的多 在配置文件如下部分: location ~ \.jsp$ ...
- MATLAB 编译器的使用
MATLAB 编译器的使用MATLAB 编译器(相应命令为 mcc)可生成独立应用程序.库.COM 对象.Excel 插件,218 MATLAB 实用教程它根据目标类型生成合适的包装器文件.包装器文件 ...
- SpringBoot项目整合Retrofit最佳实践,这才是最优雅的HTTP客户端工具!
大家都知道okhttp是一款由square公司开源的java版本http客户端工具.实际上,square公司还开源了基于okhttp进一步封装的retrofit工具,用来支持通过接口的方式发起http ...
- Pycharm永久激活2且jetbrains全系列产品
Pycharm永久激活2 注意:本教程补丁来源于https://zhile.io,如有侵权请联系作者删除! 本项目只做学习研究之用,不得用于商业用途! 一.激活前注意事项 PyCharm尽量在官网下载 ...
- git server“丢失”commit问题探究
1 背景 gitlab某仓库有同事发现部分代码文件内容丢失,具体表现 A. dev分支commit信息是连续的,看不出明显的大时间范围批量丢失 B. 以SuncardCashier/control/C ...
- 关于TCP建立连接
TCP大家大多称之为"三次握手".今天看了一篇文章,学到了"三步握手". TCP建立连接,客户端发送SYN给服务端,服务端接收到请求回应ACK.服务端发送SYN ...