Linux 下查看进程内的线程情况 ps, top 命令
线程是现代操作系统上进行并行执行的一个流行的编程方面的抽象概念。当一个程序内有多个线程被拆分出用以执行多个流时,这些线程就会在它们之间共享特定的资源(如,内存地址空间、打开的文件),以使拆分开销最小化,并避免大量高成本的IPC(进程间通信)通道。这些功能让线程在并发执行时成为一个高效的机制。
在Linux中,程序中创建的线程(也称为轻量级进程,LWP)会具有和程序的PID相同的“线程组ID”。然后,各个线程会获得其自身的线程ID(TID)。对于Linux内核调度器而言,线程不过是恰好共享特定资源的标准的进程而已。经典的命令行工具,如ps或top,都可以用来显示线程级别的信息,只是默认情况下它们显示进程级别的信息。
这里提供了在Linux上显示某个进程的线程的几种方式。
方法一 万能的ps命令
[root@localhost ~]# man 1 ps
THREAD DISPLAYH 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.
[root@localhost ~]# ps auwwx | grep mysql | grep -v grep
mysql 1092 1.2 23.0 1143316 234368 ? Sl 10:51 0:10 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
[root@localhost ~]# ps -T -p 1092PID SPID TTY TIME CMD1092 1092 ? 00:00:00 mysqld1092 1198 ? 00:00:00 mysqld1092 1223 ? 00:00:00 mysqld1092 1224 ? 00:00:00 mysqld1092 1225 ? 00:00:00 mysqld1092 1226 ? 00:00:00 mysqld1092 1227 ? 00:00:00 mysqld1092 1228 ? 00:00:00 mysqld1092 1229 ? 00:00:00 mysqld1092 1230 ? 00:00:00 mysqld1092 1231 ? 00:00:00 mysqld1092 1232 ? 00:00:00 mysqld1092 1233 ? 00:00:00 mysqld1092 2280 ? 00:00:00 mysqld1092 2281 ? 00:00:00 mysqld1092 2282 ? 00:00:00 mysqld1092 2283 ? 00:00:00 mysqld1092 2284 ? 00:00:00 mysqld1092 2285 ? 00:00:00 mysqld1092 2286 ? 00:00:00 mysqld1092 2287 ? 00:00:00 mysqld1092 2288 ? 00:00:00 mysqld1092 2289 ? 00:00:00 mysqld1092 2290 ? 00:00:00 mysqld1092 2291 ? 00:00:00 mysqld1092 2292 ? 00:00:00 mysqld1092 2294 ? 00:00:00 mysqld1092 2297 ? 00:00:00 mysqld1092 2316 ? 00:00:09 mysqld1092 2351 ? 00:00:00 mysqld1092 2352 ? 00:00:00 mysqld1092 2353 ? 00:00:00 mysqld1092 2354 ? 00:00:00 mysqld1092 2385 ? 00:00:00 mysqld1092 2413 ? 00:00:00 mysqld
方法二 top命令
top命令可以实时显示各个线程情况。要在top输出中开启线程查看,请调用top命令的“-H”选项,该选项会列出所有Linux线程,“-p”选项,可以选择查看的进程。在top运行时,也可以通过按“H”键将线程查看模式切换为开或关。
[root@localhost ~]# man 1 topGlobal-defaultsA - Alt display Off (full-screen)* d - Delay time 1.5 seconds* H - Threads mode Off (summarize as tasks)I - Irix mode On (no, `solaris' smp)* p - PID monitoring Off (show all processes)* s - Secure mode Off (unsecured)B - Bold enable On (yes, bold globally)
[root@localhost ~]# top -H -p 1092
top - 11:12:07 up 20 min, 1 user, load average: 0.18, 0.12, 0.11
Threads: 35 total, 0 running, 35 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.3 us, 0.0 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.0 hi, 0.7 si, 0.0 st
KiB Mem : 1016476 total, 199088 free, 534464 used, 282924 buff/cache
KiB Swap: 839676 total, 839640 free, 36 used. 315284 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 2283 mysql 20 0 1143316 234368 8264 S 0.3 23.1 0:00.11 mysqld 1092 mysql 20 0 1143316 234368 8264 S 0.0 23.1 0:00.26 mysqld 1198 mysql 20 0 1143316 234368 8264 S 0.0 23.1 0:00.00 mysqld 1223 mysql 20 0 1143316 234368 8264 S 0.0 23.1 0:00.02 mysqld 1224 mysql 20 0 1143316 234368 8264 S 0.0 23.1 0:00.08 mysqld 1225 mysql 20 0 1143316 234368 8264 S 0.0 23.1 0:00.04 mysqld 1226 mysql 20 0 1143316 234368 8264 S 0.0 23.1 0:00.03 mysqld 1227 mysql 20 0 1143316 234368 8264 S 0.0 23.1 0:00.04 mysqld 1228 mysql 20 0 1143316 234368 8264 S 0.0 23.1 0:00.03 mysqld 1229 mysql 20 0 1143316 234368 8264 S 0.0 23.1 0:00.07 mysqld 1230 mysql 20 0 1143316 234368 8264 S 0.0 23.1 0:00.07 mysqld 1231 mysql 20 0 1143316 234368 8264 S 0.0 23.1 0:00.02 mysqld 1232 mysql 20 0 1143316 234368 8264 S 0.0 23.1 0:00.07 mysqld 1233 mysql 20 0 1143316 234368 8264 S 0.0 23.1 0:00.07 mysqld 2280 mysql 20 0 1143316 234368 8264 S 0.0 23.1 0:00.03 mysqld 2281 mysql 20 0 1143316 234368 8264 S 0.0 23.1 0:00.04 mysqld 2282 mysql 20 0 1143316 234368 8264 S 0.0 23.1 0:00.01 mysqld 2284 mysql 20 0 1143316 234368 8264 S 0.0 23.1 0:00.00 mysqld 2285 mysql 20 0 1143316 234368 8264 S 0.0 23.1 0:00.00 mysqld 2286 mysql 20 0 1143316 234368 8264 S 0.0 23.1 0:00.00 mysqld 2287 mysql 20 0 1143316 234368 8264 S 0.0 23.1 0:00.00 mysqld 2288 mysql 20 0 1143316 234368 8264 S 0.0 23.1 0:00.00 mysqld 2289 mysql 20 0 1143316 234368 8264 S 0.0 23.1 0:00.00 mysqld 2290 mysql 20 0 1143316 234368 8264 S 0.0 23.1 0:00.00 mysqld 2291 mysql 20 0 1143316 234368 8264 S 0.0 23.1 0:00.00 mysqld 2292 mysql 20 0 1143316 234368 8264 S 0.0 23.1 0:00.00 mysqld 2294 mysql 20 0 1143316 234368 8264 S 0.0 23.1 0:00.00 mysqld 2297 mysql 20 0 1143316 234368 8264 S 0.0 23.1 0:00.08 mysqld 2316 mysql 20 0 1143316 234368 8264 S 0.0 23.1 0:14.28 mysqld
以上两种方法为常用的查看进程中线程情况的方法,再次记录下。
参考:https://linux.cn/article-5633-1.html
Linux 下查看进程内的线程情况 ps, top 命令相关推荐
- linux查看进程的内存使用情况,[转]linux下查看进程内存使用情况
动态查看一个进程的内存使用 1.top命令 top -d 1 -p pid [,pid ...] //设置为delay 1s,默认是delay 3s 如果想根据内存使用量进行排序,可以shift + ...
- 查看linux进程的设备io,Linux下查看进程IO工具iopp
Linux下的IO检测工具最常用的是iostat,不过iostat只能查看到总的IO情况.如果要细看具体那一个程序点用的IO较高,可以使用iotop .不过iotop对内核版本和Python版本有要求 ...
- linux环境下查看进程,Linux下查看进程(程序)启动时的环境变量
背景: 因最近试安装Linux下的jira,有一个中文插件安装后,一旦设置开机启动后,它是英文,而在终端再重新启动一次后呢,似乎插件生效,它又恢复为正常中文界面,我首先想这这涉及到一个环境变量的问题, ...
- linux 查询内存和核心数,Linux下查看操作系统信息、内存情况及cpu信息:cpu个数、核心数、线程数...
1.查看物理CPU的个数 [root@MysqlCluster01 ~]# cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc ...
- linux下查看进程的线程数,linux查看进程的线程数
top -H -p $PID #查看对应进程的那个线程占用CPU过高 1.top -H 手册中说:-H : Threads toggle 加上这个选项启动top,top一行显示一个线程.否则,它一行 ...
- JVM监控工具介绍jstack, jconsole, jinfo, jmap, jdb, jsta (Linux 如何查看进程的各线程的CPU占用 )
http://dolphin-ygj.iteye.com/blog/366216 JVM监控工具介绍jstack, jconsole, jinfo, jmap, jdb, jsta 博客分类: 调优 ...
- linux下查看进程占用端口和端口占用进程命令
Linux下查看进程占用端口: 查看程序对应进程号:ps –ef|grep 进程名 REDHAT :查看进程号所占用的端口号:netstat –nltp|grep 进程号 ubuntu:查看进程占用端 ...
- linux 查看进程变量,Linux下查看进程(程序)启动时的环境变量
Linux下查看进程(程序)启动时的环境变量 Linux的pargs ==================================== 今天又遇到一个老问题: 同事遇到了sqlplus &qu ...
- linux ps指令查看进程,linux下查看进程指令-ps
在Linux下查看进程指令可以用ps(process status) 是unix/Linux下通用的进程状态查看工具 ps的常用选项 选项功能介绍 -a显示所有终端中的进程.注意只有与终端关联的进程才 ...
最新文章
- Navicat Premium 12连接Oracle时提示oracle library is not loaded的问题解决
- DNS反射放大攻击分析——DNS反射放大攻击主要是利用DNS回复包比请求包大的特点,放大流量,伪造请求包的源IP地址为受害者IP,将应答包的流量引入受害的服务器...
- 【Kotlin】接口 ( 声明 | 实现 | 接口方法 | 接口属性 | 接口覆盖冲突 | 接口继承 )
- LeetCode 43字符串相乘44通配符匹配
- Linux / 设置和查看环境变量的方法
- DataArtisans战略联手阿里云 Apache Flink服务能力云化
- 【转】ABP源码分析四十五:ABP ZERO中的EntityFramework模块
- Python3 Ocr 初探
- 数字金融欺诈行为名词表
- c++ mat赋值_Mat 的几种初始化和赋值方法
- Spring Boot 部署与后台运行服务配置
- 生信蛋白分析数据库与ID转换
- dice系数 交叉熵_ACL2020 | 香侬科技提出用Dice Loss缓解数据集数据不平衡问题
- [2016 T-EDGE]王坚对话无人机教父:创新就要享受走在悬崖边的刺激
- 牛叔说电影-圣堂四骑士
- Ubuntu18.04系统安装视频剪辑软件shotcut
- Android 使用自带的MediaCodec 框架进行本地视频压缩
- iOS 5~7的模拟器下载
- 全方位解读TS501微型数采仪的功能及用法
- 浙江省单招单考计算机专业,2017 年 浙江省单考单招 计算机 专业 考试大纲
热门文章
- 伍迷创意随想集 之 杯具拥有个性,个性成就杯具 - 伍迷 - 博客园
- matlab将单词China译成密码,要将china译成密码 C++源代码 (谭浩强c++程序设计第3版答案)...
- 达尔文计算机二级考试作弊,令达尔文“讨厌的谜团”终于解开
- Verilog HDL和VHDL的区别
- 解决使用Spring Boot上传图片路径错误问题【入坑之一】
- 《谢谢你迟到》托马斯弗里德曼_epub+mobi+azw3
- angular中的$q使用详解
- JAVA实现RC4加密
- 【csq加油】华为2016校园招聘上机笔试题(一)
- 《淘宝网开店 SEO 推广 营销 爆款 实战200招》——1.7 网店推广的误区