day22 2019.8.22
-
业务驱动技术的成长、技术发挥价值从而在公司变现
-
如何监控进程的状态
- 静态ps、动态top
-
进程中的iowa、软中断、硬中断
- 中断的母的是为了提高系统处理效率
管理进程kill、killall、pkill
# kill PID 正常停止与一个程序
[root@kuangjie ~]# kill 12702
[root@localhost ~]# ps aux |grep nginx
root 8181 0.1 0.0 56624 1168 ? Ss 14:36 0:00 nginx: master process /usr/sbin/nginx
nginx 8182 0.0 0.0 57068 2004 ? S 14:36 0:00 nginx: worker process
nginx 8183 0.0 0.0 57068 2004 ? S 14:36 0:00 nginx: worker process
# kill -1 PID 平滑重载配置文件
[root@localhost ~]# kill -1 8181
[root@localhost ~]# ps aux |grep nginx
root 8181 0.0 0.0 56756 1972 ? Ss 14:36 0:00 nginx: master process /usr/sbin/nginx
nginx 8307 0.0 0.1 57188 2128 ? S 14:45 0:00 nginx: worker process
root 8309 0.0 0.0 112708 976 pts/0 R+ 14:45 0:00 grep --color=auto nginx
# kill -9 PID 强制杀死进程(对于mysql这类有状态的慎用)
[root@localhost ~]# kill -9 8181
# pkill name 批量干掉程序
# killall name 批量干掉程序
[root@localhost ~]# pkill nginx
- 后台管理screen
# 安装screen
[root@localhost ~]# yum install -y screen
# 创建一个后台 screen -S name
[root@localhost ~]# screen -S dnm
# 查看后台列表
[root@localhost ~]# screen -list
There are screens on:
8557.stm (Detached)
8513.dnm (Detached)
2 Sockets in /var/run/screen/S-root.
# 进入后台
[root@localhost ~]# screen -r 8557
# 关闭后台 ctrl ad 或 exit
-
进程优先级
- nice值越高优先级越低,+19优先级最低 SN
- nice值越低优先级越高,-20优先级最高 S<
- NI=0 PR=20
- NI=-20 PR=0
- NI=19 PR=39
- nice优先级的设置
- nice -n -20 sshd 启动一个程序为其设定优先级
- renice -n -19 sshd 调整已经启动过的进程优先级
-
平均负载
- 当平均负载高于CPU数量70%的时候,就应该去分析排查负载高的问题,一旦负载过高就可能导致进程响应慢,进而影响服务的正常功能
- 平均负载就是单位时间内的活跃进程数(运行+等待运行+不可中断进程==R+D)
- 平均负载和cpu使用率的关系
- 平均负载提供了一个快速查看系统完整性能的手段,反映了整体的负载情况
- 平均负载高有可能是CPU密集型进程导致的
- 平均负载高并不一定代表CPU使用率高,也可能是I/O繁忙
- 当发现负载高的时候可以使用mpstat、pidstat等工具辅助分析负载
# 1.CPU密集型进程
[root@iZbp16jxzft2lqp9dwuonkZ ~]# stress --cpu 3 --timeout 600
# -P ALL 表示监控所有CPU ,后面数字5表示间隔5秒后输出一组数据,单核CPU只有ALL或0
[root@iZbp16jxzft2lqk9dwuonkZ ~]# mpstat -P ALL 5
Linux 3.10.0-514.26.2.el7.x86_64 (iZbp16jxzft2lqp9dwuonkZ) 08/22/2019 _x86_64_ (1 CPU)
04:27:53 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
04:27:58 PM all 100.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
04:27:58 PM 0 100.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
# 间隔五秒后输出一组数据
[root@iZbp16jxzft2lqk9dwuonkZ ~]# pidstat -u 5 1
Average: UID PID %usr %system %guest %CPU CPU Command
Average: 0 6704 33.20 0.00 0.00 33.20 - stress
Average: 0 6705 33.40 0.00 0.00 33.40 - stress
Average: 0 6706 33.00 0.00 0.00 33.00 - stress
Average: 0 19996 0.20 0.00 0.00 0.20 - AliYunDun
# 2.I/O密集型进程
[root@iZbp16jxzft2lqk9dwuonkZ ~]# mpstat -P ALL 5
Linux 3.10.0-514.26.2.el7.x86_64 (iZbp16jxzft2lqp9dwuonkZ) 08/22/2019 _x86_64_ (1 CPU)
04:35:10 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
04:35:15 PM all 0.20 0.00 97.98 1.81 0.00 0.00 0.00 0.00 0.00 0.00
04:35:15 PM 0 0.20 0.00 97.98 1.81 0.00 0.00 0.00 root@iZbp16jxzft2lqk9dwuonkZ ~]# pidstat -u 5 1
Linux 3.10.0-514.26.2.el7.x86_64 (iZbp16jxzft2lqk9dwuonkZ) 08/22/2019 _x86_64_ (1 CPU)
04:36:03 PM UID PID %usr %system %guest %CPU CPU Command
04:36:08 PM 0 38 0.00 0.40 0.00 0.40 0 kworker/u2:1
04:36:08 PM 0 254 0.00 1.21 0.00 1.21 0 kworker/0:1H
04:36:08 PM 0 6667 0.20 0.00 0.00 0.20 0 top
04:36:08 PM 0 6726 0.00 96.57 0.00 96.57 0 stress
04:36:08 PM 0 19996 0.20 0.00 0.00 0.20 0 AliYunDun
0.00 0.00
# 3.大量进程场景
[root@iZbp16jxzft2lqk9dwuonkZ ~]# pidstat -u 5 1
Linux 3.10.0-514.26.2.el7.x86_64 (iZbp16jxzft2lqk9dwuonkZ) 08/22/2019 _x86_64_ (1 CPU)
04:45:33 PM UID PID %usr %system %guest %CPU CPU Command
04:45:38 PM 0 761 0.00 0.20 0.00 0.20 0 aliyun-service
04:45:38 PM 0 6736 24.90 0.00 0.00 24.90 0 stress
04:45:38 PM 0 6737 24.70 0.00 0.00 24.70 0 stress
04:45:38 PM 0 6738 24.70 0.00 0.00 24.70 0 stress
04:45:38 PM 0 6739 25.10 0.00 0.00 25.10 0 stress
04:45:38 PM 0 19996 0.20 0.00 0.00 0.20 0 AliYunDun
[root@iZbp16jxzft2lqk9dwuonkZ ~]# mpstat -P ALL 5
Linux 3.10.0-514.26.2.el7.x86_64 (iZbp16jxzft2lqk9dwuonkZ) 08/22/2019 _x86_64_ (1 CPU)
04:48:23 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
04:48:28 PM all 99.80 0.00 0.20 0.00 0.00 0.00 0.00 0.00 0.00 0.00
04:48:28 PM 0 99.80 0.00 0.20 0.00 0.00 0.00 0.00 0.00 0.00 0.00