top(动态命令)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
## 第一行
top - 14:41:23 up 3:38, 1 user, load average: 0.00, 0.01, 0.05
top:命令
-:分隔符
09:32:57 :当前系统时间
up 1:23 :服务器运行时间
1 user :当前登录系统的用户数量
load average: 系统负载
0.00:1分钟
0.01:5分钟
0.05:15分钟
# 第二行
Tasks: 98 total, 1 running, 97 sleeping, 0 stopped, 0 zombie
Tasks: 任务,进程数量
116 total // 进程总量
1 running // 1个正在运行的进程 R
115 sleeping // 115处于休眠状态的进程 S
0 stopped // 0个被暂停状态的进程 T
0 zombie // 0个僵尸进程 Z
# 第三行
%Cpu(s): 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu(s):
0.0 us:user 用户态 用户使用程序占用CPU的百分比
0.3 sy:system 内核态 系统使用程序占用CPU的百分比
0.0 ni:nice 优先级 优先级调度的进程占用CPU的百分比
99.7 id:idle 空闲 CPU的空闲率
0.0 wa: wait 等待 处于等待状态的进程占用CPU的百分比
0.0 hi: 硬中断 硬中断占用CPU的百分比
0.0 si: 软中断 软终端占用CPU的百分比
0.0 st: 虚拟化 虚拟化占用CPU的百分比
# 第四行
KiB Mem : 995896 total, 425312 free, 108804 used, 461780 buff/cache
KiB Mem : 内存
995896 total:总内存大小
748564 free:空闲内存大小
107768 used:已使用内存大小
139564 buff/cache:缓冲区/缓存区使用内存大小
# 第五行
KiB Swap: 1048572 total, 1048572 free, 0 used. 700372 avail Mem
KiB Swap: 交换分区swap (虚拟内存)
1048572 total:虚拟内存总大小
1048572 free:虚拟内存空闲大小
0 used:虚拟内存使用大小
729176 avail Mem:虚拟内存可用大小
Windows:NTFS、FAT32
Linux:
CentOS7:xfs file system
CentOS6:ext4
# 第六行
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
PID:进程ID号
USER:进程启动用户
PR NI:权重优先级 两者相差20,互斥
VIRT:虚拟内存
RES:真实物理内存
SHR:闪存
S:进程状态
%CPU:CPU使用率
%MEM:内存使用率
TIME+ :该进程在CPU内运行的时间
COMMAND:服务启动的命令

中断

1
2
3
4
5
6
7
8
9
10
中断是系统用来影响硬件设备请求的一种机制,它会打断进程的正常调度和执行,然后调用内核中的中断处理程序来影响设备的请求
#中断的作用:
是为了让计算机可以处理更多的请求
#只有中断,存在的问题:
会导致数据丢失
#解决办法:
将中断,分为两个部分
硬中断:快速处理任务,临时保存在内存里
软中断:延迟处理未完成的任务

top命令的使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
[root@yum_repo ~]# yum install -y htop
[root@yum_repo ~]# yum install -y glances
[root@yum_repo ~]# top
[root@yum_repo ~]# htop
[root@yum_repo ~]# glances
# -n:指定查看几次结果
[root@yum_repo ~]# top -n 5
# -d:指定更新时间(默认3s更新一次数据)
[root@yum_repo ~]# top -d 1 -n 5
# -p:指定想查看的进程PID
[root@yum_repo ~]# top -p 1278
[root@yum_repo ~]# top -p $(pidof nginx|tr ' ' ',')
# -b:将多次结果保存到文件中
[root@yum_repo ~]# top -d 1 -n 3 -b > /tmp/1.txt

注意:#不使用-b选项,只能写入最后一次的结果。top是动态的,只有结束才能够写入1.txt,结束的时候写入的也只是最后一次的结果
top -n 3 >1.txt


#top 常见指令
h 查看帮出
z 高亮显示
1 显示所有CPU的负载
s 设置刷新时间
b 高亮现实处于R状态的进程
M 按内存使用百分比排序输出
P 按CPU使用百分比排序输出
R 对排序进行反转
f 自定义显示字段
k kill掉指定PID进程
W 保存top环境设置 ~/.toprc
q 退出

kill信号管理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
[root@yum_repo ~]# kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR
31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3
38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8
43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7
58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
63) SIGRTMAX-1 64) SIGRTMAX

## 重启 restart
先关闭服务,再开启服务
## 重新加载 reload
只重新读取配置文件,不会停止服务

## 重新加载服务配置文件
[root@yum_repo ~]# kill -1 8582
[root@yum_repo ~]# kill -HUP 8582

## 中断一个正在运行的程序 Ctrl + c
[root@yum_repo ~]# kill -2 8779
[root@yum_repo ~]# kill -INT 8779
## 退出程序
[root@yum_repo ~]# systemctl stop nginx
[root@yum_repo ~]# kill -3 8582
[root@yum_repo ~]# kill -QUIT 8582
## 强制结束程序,该信号不能被捕获
[root@yum_repo ~]# kill -9 8847
[root@yum_repo ~]# kill -KILL 8847
## 默认退出信号
[root@yum_repo ~]# kill 1122
[root@yum_repo ~]# kill -15 1122
[root@yum_repo ~]# kill -TERM 1122
## 让被暂停的程序恢复运行
[root@yum_repo ~]# kill -18 8870
## 让程序暂停 Ctrl + z
[root@yum_repo ~]# kill -19 8884
[root@yum_repo ~]# kill -20 8896