day20-进程管理(1)

1. 监控进程状态

  • 1.1 使用ps命令查看当前的进程状态(静态)
[root@ennan ~]# ps aux | more
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.3  46240  3768 ?        Ss   01:50   0:08 /usr/lib/systemd/systemd --syste
m --deserialize 16
root          2  0.0  0.0      0     0 ?        S    01:50   0:00 [kthreadd]
root          3  0.0  0.0      0     0 ?        S    01:50   0:07 [ksoftirqd/0]
root          5  0.0  0.0      0     0 ?        S<   01:50   0:00 [kworker/0:0H]
root          7  0.0  0.0      0     0 ?        S    01:50   0:00 [migration/0]
root          8  0.0  0.0      0     0 ?        S    01:50   0:00 [rcu_bh]

ps -aux为常用组合,用于查看进程的用户、PID、占用cpu百分比、占用内存百分比、状态、执行的命令等

ps状态及描述

状态 描述
USER 启动进程的用户
PID 进程运行的ID号
%CPU 进程占用CPU百分比
%MEM 进程占用内存百分比
VSZ 进程占用虚拟内存的大小(单位KB)
RSS 进程占用物理内存实际大小(单位KB)
TTY 进程是由哪个终端运行启动的,tty1、pts/0等,?表示内核程序与终端无关
STAT 进程运行过程中的状态
START 进程启动的时间
TIME 进程占用的CPU的总时间(0表示还没超过秒)
COMMAND 程序执行的指令,[ ]内输入内核态的进程。没有[ ]的是用户态的进程。

STAT的状态及描述

STAT基本状态 描述 STAT状态+符号 描述
R 进程运行 s Ss进程的领导者,父进程
S 可中断睡眠 < 进程运行在高优先级上,S<优先级较高的进程
T 进程被暂停 N 进程运行在低优先级上,SN优先级较低的进程
D 不可中断的睡眠 + 当前进程运行在前台,R+表示进程在前台运行
Z 僵尸进程 l 进程是多线程的,Sl表示进程是以线程方式运行的
  • 实验一、PS命令查看进程状态切换
     在终端1上运行vim test
[root@ennan ~]# vim test

 在终端2上通过ps命令查看进程的状态

[root@ennan ~]# ps aux | grep vim
root      12665  0.2  0.2 151540  5248 pts/0    S+   01:46   0:00 vim test
root      12667  0.0  0.0 112708   972 pts/1    S+   01:46   0:00 grep --color=auto vim

 在终端1上挂起vim命令,按下:ctrl+z
&emsp;回到终端2再次运行ps命令查看状态

[root@ennan ~]# ps aux | grep vim
root      12668  0.1  0.2 151540  5248 pts/1    T    01:54   0:00 vim test
root      12672  0.0  0.0 112708   976 pts/0    S+   01:55   0:00 grep --color=auto vim
  • 实验二、PS命令查看不可中断状态进程
    &emsp;在终端1上使用tar对文件进行打包
[root@ennan ~]# tar czf test.tar.gz /etc/ /usr/ /var/

 在终端2上不断查看状态

[root@ennan ~]# ps aux | grep tar
root      12679 15.6  0.1 124832  2592 pts/1    R+   02:00   0:09 tar czf test.tar.gz /etc/ /usr/ /var/
root      12789  0.0  0.0 112708   976 pts/0    S+   02:01   0:00 grep --color=auto tar
[root@ennan ~]# ps aux | grep tar
root      12679 15.6  0.1 124832  2592 pts/1    D+   02:00   0:09 tar czf test.tar.gz /etc/ /usr
  • 1.2 使用top命令查看当前的进程状态(动态)
[root@ennan ~]# top
top - 02:26:15 up  2:01,  3 users,  load average: 0.00, 0.01, 0.08
Tasks: 109 total,   1 running, 108 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.2 sy,  0.0 ni, 99.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  2028116 total,    75516 free,   137336 used,  1815264 buff/cache
KiB Swap:   819196 total,   819196 free,        0 used.  1636144 avail Mem 

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                     
 12875 root      20   0  161880   2200   1556 R   0.3  0.1   0:00.09 top                         
     1 root      20   0  128408   6972   4160 S   0.0  0.3   0:03.95 systemd                     
     2 root      20   0       0      0      0 S   0.0  0.0   0:00.01 kthreadd                    
     3 root      20   0       0      0      0 S   0.0  0.0   0:01.19 ksoftirqd/0                 
     5 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H                
     7 root      rt   0       0      0      0 S   0.0  0.0   0:00.23 migration/0  

第一行解释及说明

top - 02:26:15 up  2:01,  3 users,  load average: 0.00, 0.01, 0.08
状态 说明
02:26:15 当前系统时间
2:01 系统运行时长
3 users 当前有3个用户(终端)连接到系统
load average 平均负载
0.00 一分钟内平均负载
0.01 五分钟内平均负载
0.08 十五分内平均负载

第二行解释及说明

Tasks: 109 total,   1 running, 108 sleeping,   0 stopped,   0 zombie
状态 说明
109 total 当前进程总数
1 running 正在运行的进程数量(R)
108 sleeping 睡眠的进程数(S)
0 stopped 停止,挂起的进程数(T)
0 zombie 僵尸进程数

第三列解释及说明

%Cpu(s):  0.0 us,  0.2 sy,  0.0 ni, 99.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
状态 说明
0.0 us 系统用户进程使用CPU百分比
0.2 sy 内核中的进程占用CPU百分比,通常内核是于硬件进行交互
0.0 ni 优先级的进程占用cpu的百分比
99.8 id 空闲CPU的百分比
0.0 wa CPU等待IO完成的时间
0.0 hi 硬中断,占的CPU百分比
0.0 si 软中断,占的CPU百分比
0.0 st 比如虚拟机占用物理CPU的时间

top常见指令

指令 含义
h 查看帮助
1 数字1,显示所有CPU核心的负载
b 高亮显示处于R状态的进程
M 按内存使用百分比排序输出
P 按CPU使用百分比排序输出

你可能感兴趣的:(day20-进程管理(1))