linux进程查看所有线程,Linux中查看进程的多线程的方法
在SMP系统中,我们的应用程序经常使用多线程的技术,那么在Linux中如何查看某个进程的多个线程呢?
本文介绍3种命令来查看Linux系统中的线程(LWP)的情况:
在我的系统中,用qemu-system-x86_64命令启动了一个SMP的Guest,所以有几个qemu的线程,以此为例来说明。
1. pstree 命令
查看进程和线程的树形结构关系
[root@jay-linux ~]# pstree | grep qemu
|-terminal-+-bash---qemu-sys---2*[{qemu-system-x8}]
[root@jay-linux ~]# pstree -p | grep qemu
|-terminal(194)-+-bash(196)---qemu-sys(657)-+-{qemu}(660)
| | `-{qemu}(661)
2. ps 命令
-L参数显示进程,并尽量显示其LWP(线程ID)和NLWP(线程的个数)。
[root@jay-linux ~]# ps -eLf | grep qemu
root 657 196 657 0 3 13:48 pts/1 00:00:00 qemu-sys -m1024 -smp 2
root 657 196 660 3 3 13:48 pts/1 00:00:26 qemu-sys -m1024 -smp 2
root 657 196 661 2 3 13:48 pts/1 00:00:19 qemu-sys -m1024 -smp 2
root 789 9799 10789 0 1 14:02 pts/0 00:00:00grep--color=auto qemu
上面命令查询结果的第二列为PID,第三列为PPID,第四列为LWP,第六列为NLWP。
另外,ps命令还可以查看线程在哪个CPU上运行,命令如下:
[root@jay-linux ~]# ps -eo ruser,pid,ppid,lwp,psr,args -L | grep qemu
root 657 196 657 1 qemu-sys -hda smep-temp.qcow -m1024 -smp 2
root 657 196 660 1 qemu-sys -hda smep-temp.qcow -m1024 -smp 2
root 657 196 661 2 qemu-sys -hda smep-temp.qcow -m1024 -smp 2
root 834 9799 10834 1grep--color=auto qemu
其中,每一列依次为:用户ID,进程ID,父进程ID,线程ID,运行该线程的CPU的序号,命令行参数(包括命令本身)。
3. top 命令
其中H命令可以显示各个线程的情况。(在top命令后,按H键;或者top -H)
[root@jay-linux ~]# top -H
top - 14:18:20 up 22:32, 4 users, load average: 2.00, 1.99, 1.90
Tasks: 286 total, 1 running, 285 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 3943892k total, 1541540k used, 2402352k free, 164404k buffers
Swap: 4194300k total, 0k used, 4194300k free, 787768k cached
PID USER PR NI VIRT RES SHR S%CPU%MEMTIME+ COMMAND
660 root 20 0 1313m 188m 2752 S 2.3 4.9 0:46.78 qemu-sys
661 root 20 0 1313m 188m 2752 S 2.0 4.9 0:39.44 qemu-sys
867 root 20 0 15260 1312 960 R 0.3 0.0 0:00.07 top
1 root 20 0 19444 1560 1252 S 0.0 0.0 0:00.34 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.02 kthreadd
....
在top中也可以查看进程(进程)在哪个CPU上执行的。
执行top后,按f,按j(选中* J: P = Last used cpu (SMP)),然后按空格或回车退出设置,在top的显示中会多出P这一列是最近一次运行该线程(进程)的CPU。
PID USER PR NI VIRT RES SHR S%CPU%MEMTIME+ P COMMAND
661 root 20 0 1313m 188m 2752 S 2.3 4.9 0:44.24 3 qemu-sys
660 root 20 0 1313m 188m 2752 S 2.0 4.9 0:51.74 0 qemu-sys
874 root 20 0 15260 1284 860 R 0.7 0.0 0:00.32 2 top
1 root 20 0 19444 1560 1252 S 0.0 0.0 0:00.34 0 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.02 1 kthreadd
更多信息,请 man pstree, man top, man ps 查看帮助文档。
注: LWP为轻量级进程(即:线程),(light weight process, or thread) 。
linux进程查看所有线程,Linux中查看进程的多线程的方法相关推荐
- linux gdb打印内存命令,gdb中查看内存方法总结
出自计组第三次上机附加题第二题 用gdb运行程序b,输出中相应地址究竟指向了什么? 请贴上你是如何找到的(使用了什么gdb指令等等) 在查看地址前首先需要断点定位到需要查看的位置 显示代码内容 (gd ...
- linux下查看mysql线程_linux-如何查看线程在哪个CPU内核中运行?
linux-如何查看线程在哪个CPU内核中运行? 在Linux中,假设线程的pid是[pid],则从目录/ proc / [pid]中我们可以获得许多有用的信息. 例如,这些proc文件/ proc ...
- linux 查看硬盘的uuid_Ubuntu中查看硬盘分区UUID的方法(所有Linux目录的解释)
在Ubuntu中UUID的两种获取方法,至于UUID是什么,你可以大概理解为分区的标识符,像条形码那样. 在终端中输入下面的命令就可心查看到分区UUID了. 命令1. sudo blkid 命令2. ...
- linux 查看显卡信号_Linux中查看显卡硬件信息
Linux中查看显卡硬件信息 https://ywnz.com/linuxjc/67.html lspci -vnn | grep VGA -A 12 lshw -C display 查看当前使用的显 ...
- adb ps shell 查看进程_深入理解Android中查看进程(ps)命令
By Long Luo 注: 这篇文章是2013年发表在个人CSDN Blog上解析ANDROID ps命令执行后各项参数的含义,今天将其移到个人独立博客站上. 如何查看Android进程信息呢? 可 ...
- python 协程、进程、线程_Python 中的进程、线程、协程
1. 进程 进程是正在运行的程序实例,是内核分配资源的最基本的单元.进程拥有自己独立的堆和栈,独立的地址空间,资源句柄.进程由 OS 调度,调度开销较大,在并发的切换过程效率较低. Python 提供 ...
- linux htop详解 线程,Linux htop 工具使用
一.Htop的使用简介 大家可能对top监控软件比较熟悉,今天我为大家介绍另外一个监控软件Htop,姑且称之为top的增强版, 相比top其有着很多自身的优势.如下: · 两者相比起来,top比较 ...
- linux 反复创建销毁线程,Linux:回收循环创建的多个线程
上午我说了循环创建多个线程,由于进程与线程是如此的相似,进程我们知道要回收,那么线程也自然要回收啦.我们接着看控制原语: 线程与共享 线程间共享全局变量! [牢记]:线程默认共享数据段.代码段等地址空 ...
- linux mint 18.3浏览器,在Linux Mint 19/Ubuntu 18.04中安装Tor Browser浏览器的方法
本文介绍在Linux Mint 19/Ubuntu 18.04系统中安装Tor Browser浏览器的方法,本文不使用Tor的默认Ubuntu存储库,因为它们包含旧版本的Tor. 一.添加Tor存储库 ...
最新文章
- 科大讯飞语音助手Lite智能鼠标电脑版安装不成功为什么?怎么办?
- 推荐算法炼丹笔记:CTR点击率预估系列入门手册
- C语言:L1-037 A除以B (10分)(解题报告)
- [css] css中class和id选择器有什么区别?
- sql 显示百分比_轻松搞定数据分析之SQL——简单查询
- 了解与防御XSS攻击
- C++设计模式-采用装饰模式用户和管理员加载不同的模块(Qt框架实现)
- 87相似标准形08——Jordan标准形
- SpringBoot(一)启动相关
- 《程序是怎样跑起来的》第十一章读后感
- 电信光猫 远程服务器,如何禁止电信远程控制服务器修改光猫配置信息
- 机器学习实战K-近邻算法
- 资阳停车场系统推荐_专业停车场系统维护业务广泛
- 市场下行手机市场成血海,为何荣耀逆流而上?
- linux 空白进程,Linux空白行:行号显示、空白行数统计、删除空白行
- hangfire-简单开始
- PCB板各层定义及解释
- 简单的书签服务LinkDing
- echarts饼图铺满整个div
- 晒一下 CSDN 颁发的 MVB 奖杯
热门文章
- Tensorflow中的Protocol Buffer
- php 7.1/7.3使用 json_encode 函数造成浮点类型数据出现精度问题
- SqlServer千万级以上的数据表查询优化方案《冷热数据库分离》的思路
- windows下安装php性能分析工具XHProf(windows版本)
- Linux之nginx配置文件的分析整理
- Laravel的Class Laravel\Passport\Passport not found
- jQuery的var that=this
- PHP的Static与Global
- #未能找到类型或命名空间名称_如何变更文件类型为自己所需要的类型(通俗易懂快速上手)...
- 用稳压管保护单片机引脚_零基础入门单片机(2)学会控制IO引脚你就入门啦