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

这篇具有很好参考价值的文章主要介绍了Linux系列之查看进程线程的方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

ps命令

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

常用参数:

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

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

# ps命令单独使用的情况
ps -elf tomcat
#结合管道操作和grep命令进行过滤,用于查询某一个进程的信息
ps -elf | grep tomcat

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

ps -T -p pid

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

top命令

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

语法:

top [param]

param为:

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

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

  • 系统统计信息
  • 系统进程信息
    Linux系列之查看进程线程的方法
    系统统计信息
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 (缓冲交换区 )

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

系统进程信息

  • 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 :进程名称[命令名/命令行]

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

按“1”键,可打开或关闭显示详细CPU统计信息:
Linux系列之查看进程线程的方法
按字母“B”键,可打开或关闭当前进程的显示效果
Linux系列之查看进程线程的方法
top -H -p pid,查看进程pid下面的子线程,top命令也可以用来查看线程·,常被忽略这个用法
Linux系列之查看进程线程的方法

htop命令

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

sudo yum install epel-release  
sudo yum install htop

安装好之后直接使用htop,命令返回的很多参数和top类似,所以描述就省略,为了直接显示,可以按F2,将Tree viewshow custom thread names开放出来,然后按F10保存退出
Linux系列之查看进程线程的方法
htop网上有两遍相对比较详细的可以参考:

  • https://blog.csdn.net/lovedingd/article/details/120784528
  • https://z.itpub.net/article/detail/0BF005735A2D6E1C71AAEE7479B00406

知识点归纳

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

参考资料

  • Linux命令大全(手册)
  • linux系列之常用运维命令整理
  • 后端程序员必备的 Linux 命令

到了这里,关于Linux系列之查看进程线程的方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux和windows进程同步与线程同步那些事儿(三): Linux线程同步详解示例

    Linux和windows进程同步与线程同步那些事儿(一) Linux和windows进程同步与线程同步那些事儿(二): windows线程同步详解示例 Linux和windows进程同步与线程同步那些事儿(三): Linux线程同步详解示例 Linux和windows进程同步与线程同步那些事儿(四):windows 下进程同步 Linux和wi

    2024年02月01日
    浏览(39)
  • Linux查看进程PID的方法?

    在Linux系统中,进程是指正在运行的程序。每个进程都有一个唯一的进程 ID(PID),可以用来识别和管理它们。 以下是查看进程 PID 的几种方法: 使用 ps 命令查看进程 PID: ps 命令可以列出当前正在运行的进程信息,包括进程名、PID、状态等。可以使用以下命令来查看进程

    2024年02月10日
    浏览(47)
  • linux中查看占用端口的进程方法

    其中:95115是进程号,mysqld是进程名称 注意:-tlnp和-ltnp 其中:mysqld是进程名称,95115是进程id 其中:mysqld是进程,95115是进程id

    2024年04月10日
    浏览(50)
  • 23.Linux查看系统进程

    在 Linux 中,您可以使用 ps 命令来查看系统进程。下面是一些常用选项和示例: ps aux :显示当前所有进程的详细信息,包括所有用户的进程。 示例输出: 以上示例输出显示了进程的用户、进程ID(PID)、CPU占比(%CPU)、内存占比(%MEM)、虚拟内存大小(VSZ)、常驻内存集大

    2024年02月16日
    浏览(48)
  • Linux查看进程端口号的几种方法

    lsof 是 linux 下的一个非常实用的系统级的监控、诊断工具。它的意思是 List Open Files,它可以用来列出被各种进程打开的文件信息,linux 下 “一切皆文件”。 这个命令可能系统里没有自带,需要先安装一下,CentOS系统的话安装也很简单,安装命令:yum install lsof ,然后一路y。

    2023年04月16日
    浏览(56)
  • Linux查看进程PID的方法(linux查进程的pid)附带自动kill 掉

    Linux查看进程PID的方法 Linux作为一款多用户、多任务的操作系统,可以同时处理多个任务,每个任务的执行都由进程来实现。在每个进程执行的过程中,都会有一个唯一标识符,即称为PID(Process Identifier)进程ID。Linux系统有很多命令用来查看进程PID,下面介绍几种常用的查看

    2024年02月01日
    浏览(94)
  • Linux下查看进程启动时间的方法及示例代码

    在Linux系统中,我们经常需要查看进程的启动时间,以便进行系统性能分析或调试。本文将介绍如何使用命令行工具和示例代码来准确获取进程的启动时间。 方法一:使用ps命令 ps命令是Linux中常用的进程查看工具,它提供了多种选项来获取进程的信息,包括启动时间。以下是

    2024年02月05日
    浏览(33)
  • 操作系统练习:在Linux上创建进程,及查看进程状态

    进程在执行过程中可以创建多个新的进程。创建进程称为“父进程”,新的进程称为“子进程”。每个新的进程可以再创建其他进程,从而形成进程树。 每个进程都有一个唯一的进程标识符(process identifier,pid)。在Linux中,init进程是所有其他进程的根进程。 在Linux中,可以

    2024年02月12日
    浏览(53)
  • Linux服务器中查看进程的四种方法

    1. 使用 ps aux 命令来查看,能以简单列表的形式显示出进程信息 ps aux 用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序. ps 命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进

    2024年02月02日
    浏览(42)
  • Linux 查看程序(动态库)、进程的依赖库的方法

    当我们在linux上部署自己开发的项目程序时,项目代码与依赖库完整拷贝过去之后,直接运行我们自己的可执行程序,往往提示找不到所相关的.so库,会报错。 系统只会去默认搜寻目录( /lib和/usr/lib )下, 以及动态库配置文件( /etc/ld.so.conf和/etc/ld.so.conf.d/*.conf )里所列的目录下

    2024年02月02日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包