【linux命令】查看进程活动的命令

本文介绍了在Linux系统中,如何使用ps命令查看进程详细信息,top命令实时监控CPU和内存使用,以及pidstat工具监控特定进程的资源消耗,包括CPU、内存、磁盘I/O等。

ps进程信息

ps用于显示系统内的所有进程

-l或l   采用详细的格式来显示进程状况

常用方式: ps  -elf 和ps -ef

root@ecs-x-large-2-linux-20200309113627:/home/etcd_msg_server# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 Jan02 ?        00:00:05 /sbin/init nospectre_v2 nopti noibrs noibpb
root         2     0  0 Jan02 ?        00:00:00 [kthreadd]
root         4     2  0 Jan02 ?        00:00:00 [kworker/0:0H]
root         6     2  0 Jan02 ?        00:00:00 [mm_percpu_wq]
root         7     2  0 Jan02 ?        00:00:00 [ksoftirqd/0]
root         8     2  0 Jan02 ?        00:00:21 [rcu_sched]
root         9     2  0 Jan02 ?        00:00:00 [rcu_bh]
root        10     2  0 Jan02 ?        00:00:00 [migration/0]
root        11     2  0 Jan02 ?        00:00:00 [watchdog/0]
root@ecs-x-large-2-linux-20200309113627:/home/etcd_msg_server# ps -elf
F S UID        PID  PPID  C PRI  NI ADDR SZ WCHAN  STIME TTY          TIME CMD
4 S root         1     0  0  80   0 - 39973 ep_pol Jan02 ?        00:00:05 /sbin/init nospectre_v2 nopti noibrs noibpb
1 S root         2     0  0  80   0 -     0 kthrea Jan02 ?        00:00:00 [kthreadd]
1 I root         4     2  0  60 -20 -     0 worker Jan02 ?        00:00:00 [kworker/0:0H]
1 I root         6     2  0  60 -20 -     0 rescue Jan02 ?        00:00:00 [mm_percpu_wq]
1 S root         7     2  0  80   0 -     0 smpboo Jan02 ?        00:00:00 [ksoftirqd/0]
1 I root         8     2  0  80   0 -     0 rcu_gp Jan02 ?        00:00:21 [rcu_sched]
1 I root         9     2  0  80   0 -     0 rcu_gp Jan02 ?        00:00:00 [rcu_bh]
1 S root        10     2  0 -40   - -     0 smpboo Jan02 ?        00:00:00 [migration/0]
5 S root        11     2  0 -40   - -     0 smpboo Jan02 ?        00:00:00 [watchdog/0]
1 S root        12     2  0  80   0 -     0 smpboo Jan02 ?        00:00:00 [cpuhp/0]

根据进程名字或者其他信息,通过grep 命令找到目标进程,也可以看到进程启动脚本的全路径

检测是否有活动进程
# sudo ps -ef|grep "nginx:master process" | grep -v grep

检测有几个同样的活动进程
sudo ps -ef|grep "nginx:master process" | grep -v grep | wc -l

top进程cpu内存信息

top命令⽤于查看活动进程的CPU和内存信息,能够实时显示系统中各个进程的资源占⽤情况,可以按照 CPU、内存的使⽤情况和执⾏时间对进程进⾏排序。
# top

 从输出我们可以看到整体的cpu占用率,CPU负载,以及进程占用CPU和内存等资源的情况。我们可以用以下所示的top命令的快捷键对输出的显示信息进行转换

  • t :切换报示进程和cpu状态信息
  • n:切换显示内存信息
  • r:重新设置一个进程的优先级。系统提示用户输入需要改变的进程pid及需要设置的进程优先级,然后输入个正数值使优先级降低,反之则可以使该进程拥有更高的优先级,即是在原有的基础上进行相加,默认优先级是100
  • k:终止一个进程,系统将提示用户输入需要终止的进程PID
  • s:改变刷新的时间间隔
  • u:查看指定用户的进程

查看具体进程下的线程:top -Hp pid

top - 00:46:34 up 2 days,  7:31,  0 users,  load average: 0.11, 0.03, 0.01
Threads:  11 total,   0 running,  11 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.2 us,  0.2 sy,  0.0 ni, 99.5 id,  0.2 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  4038676 total,   794276 free,   374740 used,  2869660 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  3374744 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                                     
10157 root      20   0  968152  87492  36284 S  0.0  2.2   0:13.33 node                                                        
10159 root      20   0  968152  87492  36284 S  0.0  2.2   0:00.00 node                                                        
10160 root      20   0  968152  87492  36284 S  0.0  2.2   0:00.24 node                                                        
10161 root      20   0  968152  87492  36284 S  0.0  2.2   0:00.23 node                                                        
10162 root      20   0  968152  87492  36284 S  0.0  2.2   0:00.23 node                                                        
10163 root      20   0  968152  87492  36284 S  0.0  2.2   0:00.28 node                                                        
10164 root      20   0  968152  87492  36284 S  0.0  2.2   0:00.00 node                                                        
10171 root      20   0  968152  87492  36284 S  0.0  2.2   0:00.28 node                                                        
10172 root      20   0  968152  87492  36284 S  0.0  2.2   0:00.30 node                                                        
10173 root      20   0  968152  87492  36284 S  0.0  2.2   0:00.29 node                                                        
10174 root      20   0  968152  87492  36284 S  0.0  2.2   0:00.30 node 

pidstat 进程资源

pidstat用于监控全部或指定的进程占用系统资源的情况,包括CPU、内存、磁盘i/o、进程切换、线程数等数据

  • -u:表示查看cpu相关的性能指标
  • -w:表示查看上下文切换情况
  • -t:查看线程相关的信息,默认是进程的;常与-w结合使用(cpu的上下文切换包括进程的切换、线程的切换、中断的切换)
  • -d:展示磁盘io统计数据
  • -p:指明进程号

使用方式:pidstat [option] interval [conut]

使用:pidstat -urd -p 进程号
root@ecs-x-large-2-linux-20200309113627:/home/etcd_msg_server# pidstat -urd -p 10157
Linux 4.15.0-169-generic (ecs-x-large-2-linux-20200309113627)   01/05/2023      _x86_64_        (2 CPU)

12:57:06 AM   UID       PID    %usr %system  %guest   %wait    %CPU   CPU  Command
12:57:06 AM     0     10157    0.01    0.00    0.00    0.00    0.01     0  node

12:57:06 AM   UID       PID  minflt/s  majflt/s     VSZ     RSS   %MEM  Command
12:57:06 AM     0     10157      0.58      0.00  968152   87564   2.17  node

12:57:06 AM   UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s iodelay  Command
12:57:06 AM     0     10157      0.00      0.10      0.00       0  node

输出内存的使用信息
root@ecs-x-large-2-linux-20200309113627:/home/etcd_msg_server# pidstat -r -p 10157
Linux 4.15.0-169-generic (ecs-x-large-2-linux-20200309113627)   01/05/2023      _x86_64_        (2 CPU)

01:00:04 AM   UID       PID  minflt/s  majflt/s     VSZ     RSS   %MEM  Command
01:00:04 AM     0     10157      0.58      0.00  968152   87732   2.17  node

minflt/s : 每秒次缺页错误次数,次缺页错误次数即虚拟内存地址映射成物理内存地址产生的page fault次数
majflt/s : 每秒主缺页错误次数,当虚拟内存地址映射成物理内存地址时,相应的page在swap中,§这样的,一般在内存使用紧张时产生
VSZ : 该进程使用的虚拟内存(以kb为单位)
PSS : 该进程使用的物理内存(以kb为单位)
MEM : 当前任务使用的有效内存的百分比

-----------------------------------------------------------------------------

输出cpu的使用信息
root@ecs-x-large-2-linux-20200309113627:/home/etcd_msg_server# pidstat -u -p 10157
Linux 4.15.0-169-generic (ecs-x-large-2-linux-20200309113627)   01/05/2023      _x86_64_        (2 CPU)

01:00:14 AM   UID       PID    %usr %system  %guest   %wait    %CPU   CPU  Command
01:00:14 AM     0     10157    0.01    0.00    0.00    0.00    0.01     1  node

usr:用户层任务正在使用的cpu
system:系统层正在执行的任务cpu使用百分比
guest:运行虚拟机的cpu占用百分比
cpu:所有的使用cpu的时间百分比
cpu:处理器数量
Command:命令
------------------------------------------------------------------------------

输出磁盘io的使用信息
root@ecs-x-large-2-linux-20200309113627:/home/etcd_msg_server# pidstat -d -p 10157
Linux 4.15.0-169-generic (ecs-x-large-2-linux-20200309113627)   01/05/2023      _x86_64_        (2 CPU)

01:00:22 AM   UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s iodelay  Command
01:00:22 AM     0     10157      0.00      0.10      0.00       0  node


kB_rd/s    :每秒此进程从磁盘读取的千字节数
kB_wr/s    :此进程已经或者将要写入磁盘的每秒千字节数
kB_ccwr/s  :由任务取消的写入磁盘的千字节数

-----------------------------------------------------------------------------

上下文切换

cswch/s   每秒自动上下文切换
nvcswch/s 每秒非自愿的上下文切换
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CID( ͡ _ ͡°)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值