前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Linux系列之查看进程线程的方法

Linux系列之查看进程线程的方法

作者头像
SmileNicky
发布于 2022-05-19 04:52:28
发布于 2022-05-19 04:52:28
4K00
代码可运行
举报
文章被收录于专栏:Nicky's blogNicky's blog
运行总次数:0
代码可运行

在window系统查看系统进程,我们一般会使用Ctrl+Shift+Esc打开系统进程监控页面,但是在Linux系统查看进程一般使用top命令或者ps命令,但是如果要查看线程怎么查看?其实也可以使用这两个命令,所以本博客总结一下几种方法

ps命令

Linux的ps命令用于查看进程统计信息

常用参数:

  • a:显示当前终端下的所有进程信息,包括其他用户的进程。
  • u:使用以用户为主的格式输出进程信息。
  • x:显示当前用户在所有终端下的进程。
  • -e:显示系统内的所有进程信息。
  • -l:使用长(long)格式显示进程信息。
  • -f:使用完整的(full)格式显示进程信息。
  • -T:查看进程下面的子线程

在使用中可以加上grep命令一起使用,也可以单独使用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# ps命令单独使用的情况
ps -elf tomcat
#结合管道操作和grep命令进行过滤,用于查询某一个进程的信息
ps -elf | grep tomcat

查看进程下面的子线程可以使用命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ps -T -p pid

pid是具体的进程ID,加上-T查看具体的进程下面的线程,ps可以用来查看进程,也可以用来查看线程,需要注意一下

top命令

top命令可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具,TOP命令是Linux下常用的性能分析工具能够实时显示系统中各个进程的资源占用状况,有点像window系统的任务管理器

语法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
top [param]

param为:

  • -b:以批处理模式操作;
  • -c:显示完整的治命令;
  • -d:屏幕刷新间隔时间;
  • -I:忽略失效过程;
  • -s:保密模式;
  • -S:累积模式;
  • -u [用户名]:指定用户名;
  • -p [进程号]:指定进程;
  • -n [次数]:循环显示的次数。
  • -H:查看进程下面的子线程

top命令分为上下两个部分:

  • 系统统计信息
  • 系统进程信息

系统统计信息

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
top - 11:38:01 up 231 days,  2:06,  1 user,  load average: 0.88, 0.22, 0.18
Tasks: 170 total,   1 running, 169 sleeping,   0 stopped,   0 zombie
%Cpu(s): 38.7 us,  3.5 sy,  0.0 ni, 42.0 id, 15.5 wa,  0.0 hi,  0.3 si,  0.0 st
KiB Mem :  8010580 total,   927820 free,  2411572 used,  4671188 buff/cache
KiB Swap:  4063228 total,  2933688 free,  1129540 used.  5153128 avail Mem 
  • row1:任务队列信息,同 uptime 命令的执行结果 top - 11:38:01 up 231 days, 2:06, 1 user, load average: 0.88, 0.22, 0.18
    • 11:38:01 (当前系统时间)
    • up 231 days, 2:06(系统运行时间)
    • 1 user (当前登录用户数)
    • load average: 0.88, 0.22, 0.18 (系统的平均负载数,表示 1分钟、5分钟、15分钟到现在的平均数)
  • row2:进程统计信息 Tasks: 170 total, 1 running, 169 sleeping, 0 stopped, 0 zombie
    • 170 total(系统当前总进程总数)
    • 1 running (正在运行的进程数)
    • 169 sleeping(睡眠进程数)
    • 0 stopped (停止进程数)
    • 0 zombie (僵尸进程数)
  • row3:CPU 统计信息 %Cpu(s): 38.7 us, 3.5 sy, 0.0 ni, 42.0 id, 15.5 wa, 0.0 hi, 0.3 si, 0.0 st
    • 38.7 us, (用户空间CPU占用率)
    • 3.5 sy (内核空间CPU占用率)
    • 0.0 ni (用户进程空间改变过优先级的进程CPU的占用率)
    • 42.0 id(空闲CPU占有率)
    • 15.5 wa (等待输入输出的CPU时间百分比)
    • 0.0%hi (硬件中断请求)
    • 0.3%si (软件中断请求)
    • 0.0%st (分配给运行在其它虚拟机上的任务的实际 CPU时间)
  • row4:内存状态 KiB Mem : 8010580 4671188 , 927820 free, 2411572 used, 4671188 buff/cache
    • 4671188 total (物理内存总量 )
    • 2411572 used (已使用的内存 )
    • 927820 free (空闲内存 )
    • 4671188 buffers (内核缓存使用) ps:以k为单位
  • row5:swap交换分区信息 KiB Swap: 4063228 total, 2933688 free, 1129540 used. 5153128 avail Mem
    • 4063228 total (交换分区总量 )
    • 1129540 used (已使用交换分区内存 )
    • 2933688 free (空闲交换分区 )
    • 5153128 cached (缓冲交换区 )

系统进程信息

  • PID :进程id
  • USER :进程所有者的用户名
  • PR :进程优先级
  • NI :nice值。负值表示高优先级,正值表示低优先级
  • VIRT :进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
  • RES :进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
  • SHR :共享内存大小,单位kb
  • S :进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
  • %CPU :上次更新到现在的CPU时间占用百分比
  • %MEM :进程使用的物理内存百分比
  • TIME+ :进程使用的CPU时间总计,单位1/100秒
  • COMMAND :进程名称[命令名/命令行]

按“1”键,可打开或关闭显示详细CPU统计信息:

按字母“B”键,可打开或关闭当前进程的显示效果

top -H -p pid,查看进程pid下面的子线程,top命令也可以用来查看线程·,常被忽略这个用法

htop命令

htop命令可以理解为htop命令的加强版,默认会带上颜色的,而且直观性等等这些功能会更强一些,不过linux系统一般不默认安装,如果是centos,可以使用yum直接安装

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo yum install epel-release  
sudo yum install htop

安装好之后直接使用htop,命令返回的很多参数和top类似,所以描述就省略,为了直接显示,可以按F2,将Tree viewshow custom thread names开放出来,然后按F10保存退出

htop网上有两遍相对比较详细的可以参考:

知识点归纳

总结:top命令和ps经常被用于查看linux系统进程,但是也可以查看线程,top命令是通过top -H -p pid,而ps是通过ps -T -p pid查看,这些命令常被用于排查性能问题,比较常用,需要花点时间掌握。如果为了查看更加直观,可以使用htophtop是默认不安装,可以进行自行安装

参考资料

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-05-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
用 Groovy 解析 JSON 配置文件
应用程序通常包括某种类型的默认或“开箱即用”的状态或配置,以及某种让用户根据自己的需要定制配置的方式。
用户8639654
2021/09/06
4.1K0
LDAP统一账户管理self-service-password修改用户密码部署
结果发现这时打开web界面会提示:Token encryption requires a random string in keyphrase setting
@凌晨
2023/04/07
1.5K2
LDAP统一账户管理self-service-password修改用户密码部署
CentOS7下安装self-service-password实现AD域自助修改/重置密码
之前有介绍OpenLDAP安装与配置: CentOS7下搭建OpenLDAP服务器
yuanfan2012
2022/03/31
4.1K4
CentOS7下安装self-service-password实现AD域自助修改/重置密码
windows下VirtualBox vagrant的安装配置
vagrant 是一款用来构建虚拟开发环境的工具,我们可以通过vagrant封装一个liunx开发环境,分发给团队中的其它人员,这样大家的开发环境都一样啦,而且现在的网站都是运行在liunx上,这样可以保持和线上的环境一样,避免了网站上线后在测试机没问题,线上有问题的想象。
PHP学习网
2022/08/03
6770
windows下VirtualBox vagrant的安装配置
DC-1
开放了22的ssh 80的http apache 111的 rpcbind等等。 重点看看到在80端口上运行着Drupal 7和一些敏感的目录文件等等。
黑白天安全
2020/04/14
8620
DC-1
Nginx配置文件详细说明
#运行用户 user www-data; #启动进程,通常设置成和cpu的数量相等 worker_processes 1; #全局错误日志及PID文件 error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; #工作模式及连接数上限 events { use epoll; #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,可
wangxl
2018/03/08
8450
使用Phalcon框架开发一个简易的博客系统
最近在做Phalcon(Phalcon在英文中指的是鸟类中飞得最快的那一个物种,由于是高性能框架,借用了这个词)相关的项目,由于刚开始学习,不太熟悉,先搞一个"玩具项目"来练练手,用它来开发一个具有登录操作的博客是再合适不过的选择了...
Enjoy233
2019/03/05
9540
使用Phalcon框架开发一个简易的博客系统
nginx 同一 iP 多域名配置方法(多子配置文件,含 https)
  操作:在 http 模块增加(子配置文件的路径和名称):include vhost/*.conf;  另外需要注意一下 user 后面要改成 root.
卓越笔记
2023/02/17
5.3K0
nginx 添加多网站配置,正反向代理解析绑定域名
#!/bin/bash # 此处是lnmp环境的配置教程,搭建 lnmp 请参考:Linux centos下编译安装Lnmp shell脚本 完整版 # nginx服务器部署多个网站,共用一个80端口。 #首先备份配置文件: #------------------------------- 备份所有 .pid 的文件为 .pid.backup --------------------------------# pidback=(`find / -name "*.pid"`) #
eisc
2021/01/05
2.3K0
k8s 系列教程-Vagrant
vagrant是开源的虚拟机技术,相对于 vmware 而言更轻量级,操作更简便移植性更强,如果我们需要学习k8s或者搭建一些集群的话建议使用 Virtualbox+Vagrant。Vagrant 是创建虚拟机的工具,Virtualbox 是vagrant 管理工具,而且这两个软件是开源的,不需要我去付费或者破解。掌握 Vagrant技术对我们后续学习k8s会有很大的帮助
六个核弹
2022/12/23
8160
进击Drupal-1
首先我们需要有一台CentOS6.5以上的主机,如果你还没有使用过Linux的话,本教程就不太适用了。。
零式的天空
2022/03/02
1.4K0
Mac上下载安装Vagrant、配置打包属于自己的开发环境(使用Homestead后续也会更新出来)
目前解决这种问题最佳的方法有Docker(生产环境line)、Vagrant(用于开发环境dev)。
友儿
2022/09/11
1.7K0
vagrant搭建centos环境前言环境准备安装修改配置文件启动与连接常用vagrant命令清空重新导入镜像配置文件 Vagrantfile填坑记录
macos作为开发环境已经相当方便,有很丰富的工具,如homebrew类似于ubuntu的apt-get和centos的yum,很方便地安装各种开发工具。但终究与线上生产环境不同,即便安装的是相同的软件,安装目录,管理方式都有所不同。当项目很复杂,或者有多个项目时,很容易将mac本地环境弄得乱七八糟。
章鱼喵
2018/12/28
1.2K0
【Groovy】Groovy 脚本调用 ( Groovy 配置文件格式 | Groovy 配置文件读取 | 完整配置文件及解析代码示例 )
在 Groovy 脚本 , Groovy 类 , Java 类中 , 可以调用 Groovy 脚本 ;
韩曙亮
2023/03/30
9780
【Groovy】Groovy 脚本调用 ( Groovy 配置文件格式 | Groovy 配置文件读取 | 完整配置文件及解析代码示例 )
centos awstats简单安装教程
Awstats的功能老高就不多介绍了,总之老高觉得比百度站长好用太多,不过在安装此软件过程中老高也遇到了不少坑,网上的安装教程看的人眼花缭乱,针对centos的教程更是无法直视,于是造成了此篇文章诞生,看完你也许会觉得安装Awstats确实不难。
老高的技术博客
2022/12/28
4150
CentOS7下搭建postfix邮箱服务器并实现extmail的web访问
笔记内容:CentOS7下搭建postfix邮箱服务器并实现extmail的web访问
端碗吹水
2020/09/23
4.3K0
CentOS7下搭建postfix邮箱服务器并实现extmail的web访问
【Vulnhub靶机系列】DC1
这里我们选用exploit/unix/webapp/drupal_drupalgeddon2
Ms08067安全实验室
2021/04/23
8980
干货 | DC1靶机渗透实战攻略
这次的靶机渗透实战是一个找寻靶机中的flag的过程,并以获得最终的flag为目标。靶机下载地址:(http://www.five86.com/dc-1.html)
网络安全自修室
2021/11/25
1.5K0
干货 | DC1靶机渗透实战攻略
视频直播系统开发中的数据库创建方案
我们之前为大家介绍过直播平台搭建中的服务器环境配置流程。我们今天介绍下视频直播平台开发搭建中数据库该如何创建?
q3557873521
2019/02/25
1.7K0
有了Vagrant,以后就可以不用VirtualBox图形化管理虚拟机了
Vagrant是一个跨平台的虚拟机管理工具,我们以 Deepin 20.2.3 为例,安装和使用 Vagrant。我们在这里所说的 Vagrant 包括 Vagrant 工具本身 和 虚拟引擎工具 VirtualBox。
极客开发者
2022/01/18
1.3K0
推荐阅读
相关推荐
用 Groovy 解析 JSON 配置文件
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验