day20-进程管理(1)
2019-08-21 本文已影响0人
恩楠
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使用百分比排序输出 |