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 每秒非自愿的上下文切换
 


















