问答1 问答5 问答50 问答500 问答1000
网友互助专业问答平台

Linux下查看进程和线程的方法

提问网友 发布时间:2025-03-12 13:00
声明:本网页内容为用户发布,旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:1656858193@qq.com
1个回答
热心网友 回答时间:2025-03-19 10:30

在Linux中查看线程数的三种方法

1、top -H
手册中说:-H : Threads toggle
加上这个选项启动top,top一行显示一个线程。否则,它一行显示一个进程。
2、ps xH
手册中说:H Show threads as if they were processes
这样可以查看所有存在的线程。
3、ps -mp
手册中说:m Show threads after processes
这样可以查看一个进程起的线程数。

查看进程

1. top 命令

top命令查看系统的资源状况

  load average表示在过去的一段时间内有多少个进程企图独占CPU

  zombie 进程 :不是异常情况。一个进程从创建到结束在最后那一段时间遍是僵尸。留在内存中等待父进程取的东西便是僵尸。任何程序都有僵尸状态,它占用一点内存资源,仅仅是表象而已不必害怕。如果程序有问题有机会遇见,解决大批量僵尸简单有效的办法是重起。kill是无任何效果的stop模式:与sleep进程应区别,sleep会主动放弃cpu,而stop是被动放弃cpu ,例单步跟踪,stop(暂停)的进程是无法自己回到运行状态的。

  cpu states:

  nice:让出百分比irq:中断处理占用

  idle:空间占用百分比 iowait:输入输出等待(如果它很大说明外存有瓶颈,需要升级硬盘(SCSI))

  Mem:内存情况

  设计思想:把资源省下来不用便是浪费,如添加内存后free值会不变,buff值会增大。 判断物理内存够不够,看交换分区的使用状态。

  交互命令:

  [Space]立即刷新显示

  [h]显示帮助屏幕

  [k] 杀死某进程。你会被提示输入进程 ID 以及要发送给它的信号。 一般的终止进程可以使用15信号;如果不能正常结束那就使用信号9强制结束该进程。默认值是信号15。在安全模式中此命令被屏蔽。

  [n] 改变显示的进程数量。你会被提示输入数量。

  [u] 按用户排序。

  [M] 按内存用量排序。

  [o][O] 改变显示项目的顺序。

  [P] 根据CPU使用百分比大小进行排序。

  [T] 根据时间/累计时间进行排序。

  [Ctrl+L] 擦除并且重写屏幕。

  [q] 退出程序。

  [r] 重新安排一个进程的优先级别。系统提示用户输入需要改变的进程PID以及需要设置的进程优先级值。输入一个正值将使优先级降低,反之则可以使该进程拥有更高的优先权。默认值是10。

  [S] 切换到累计模式。

  [s] 改变两次刷新之间的延迟时间。系统将提示用户输入新的时间,单位为s。如果有小数,就换算成m s。输入0值则系统将不断刷新,默认值是5 s。需要注意的是如果设置太小的时间,很可能会引起不断刷新,从而根本来不及看清显示的情况,而且系统负载也会大大增加。

  缩写含义:

  PID每个进程的ID

  USER进程所有者的用户名

  PRI每个进程的优先级别

  NI每个优先级的值

  SIZE 进程的代码大小加上数据大小再加上堆栈空间大小的总数,单位是KB RSS 进程占用的物理内存的总数量,单位是KB

  SHARE进程使用共享内存的数量

  STAT 进程的状态。其中S代表休眠状态;D代表不可中断的休眠状态;R代表运行状态;Z代表僵死状态;T代表停止或跟踪状态

  %CPU进程自最近一次刷新以来所占用的CPU时间和总时间的百分比

  %MEM进程占用的物理内存占总内存的百分比

  TIME进程自启动以来所占用的总CPU时间

  CPU CPU标识

  COMMAND进程的命令名称

2. ps命令

ps查看当前用户的活动进程,如果加上参数可以显示更多的信息,如-a,显示所有用户的进程


  ps ax :tty值为“?”是守护进程,叫deamon 无终端,大多系统服务是此进程,内核态进程是看不到的

ps axf :看进程树,以树形方式现实进程列表敲 ,init是1号进程,系统所有进程都是它派生的,杀不掉

ps axm :会把线程列出来。在linux下进程和线程是统一的,是轻量级进程的两种方式。

  ps axu :显示进程的详细状态。

  vsz:说此进程一共占用了多大物理内存。

  rss:请求常驻内存多少

查看线程

其实linux没有线程,都是用进程模仿的

1. ps -ef f
用树形显示进程和线程,比如说我想找到proftp现在有多少个进程/线程,可以用

$ ps -ef f | grep proftpd
nobody 23117 1 0 Dec23 ? S 0:00 proftpd: (accepting connections)
jack 23121 23117 0 Dec23 ? S 7:57 \_ proftpd: jack - ftpsrv: IDLE
jack 28944 23117 0 Dec23 ? S 4:56 \_ proftpd: jack - ftpsrv: IDLE

这样就可以看到proftpd这个进程下面挂了两个线程。
在Linux下面好像因为没有真正的线程,是用进程模拟的,有一个是辅助线程,所以真正程序开的线程应该只有一个。

2. pstree -c也可以达到相同的效果
$ pstree -c | grep proftpd
|-proftpd-+-proftpd
| `-proftpd

3. cat /proc/${pid}/status
可以查看大致的情况

4. pstack

有些系统可以用这个东东,可以查看所有线程的堆栈

如何查看进程中各线程的内存占用情况?

用ps aux只能查看到进程,如果进程里面使用了pthread编程,用什么命令才能查询到进程里的线程资源占用?
ps aux | grep不就是了

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

40天的小猫能吃罐头吗 可以吃哪些食物 壁挂炉省气的最佳方法 燃气壁挂炉用于取暖时,如何运用才能既省气又让室内足够暖和? 在使用燃气壁挂炉取暖的情况下,怎样用能既省气又保持暖和? 采用燃气壁挂炉取暖,要如何使用才可以达到省气且暖和的效果? 燃气壁挂炉怎么省气 oppo怎么取消72小时密码解锁 如何关闭小米手机72小时密码? oppo手机如何关闭72小时锁屏密码 手机72小时输一次密码能不能关闭 家庭收支流水账表格怎么做的 没有提前打辞职报告直接走 excel多个平均年龄怎么算 用SUMIF函数怎样计算平均年龄 如何使用SUMIF计算平均年龄? 有什么软件可以把视频中不要的片段删掉 杭州特产有哪些土特产零食啊? 2015款汉兰达 2.0T 四驱豪华导航版 7座,这款车每公里多少钱? 汉兰达油耗报告是多少? ps怎么校正倾斜照片 用ps快速矫正倾斜大楼照片的多种方法介绍 linux怎么查看进程中线程的名字? 操作系统怎么看几位进程管理器 金士顿键盘的游戏模式有什么用dynamix这游戏里四个模式各是啥试了一... s9冠军S9赛季最强赢政是谁 无畏契约edg战队成员EDG无畏契约成员 英雄联盟赛区新格局是什么英雄联盟赛区是如何划分的 峡谷之巅国服前十国服峡谷之巅最新排名 西湖藕粉是哪里的特产 西湖藕粉综合资料 cad如何两张图加载在一起 CAD如何把两张图纸合成一张 cad怎样把两个图形放在同一张图纸中 过期纯牛奶如何利用? 孕妇可以吃黄色千禧果吗? 千禧果孕妇可以食用吗 千禧果孕妇能吃吗千禧果对孕妈妈非常好 优酷怎么清除观看历史记录呢 卡罗拉大灯清洗怎么开 丰田卡罗拉玻璃水在哪里加 新卡罗拉怎样加玻璃水?
Top