进程管理2

进程管理

进程的优先级

# 什么是优先级
优先级高的进程,可以优先享用系统的资源
# 优先级的定义和配置
在启动进程时,为不同的进程使用不同的调度策略

nice值越高 :表示优先级越低,例如19 ,该进程容易将CPU使用量让给其他进程。
nice值越低 :表示优先级越高,例如-20 ,该进程更不倾向于让出cpu。

# 指定优先级执行命令
nice -n 19 vim 1.txt

# 重置以及在运行的程序优先级
renice  -n -20 8551

后台进程管理

# 在执行命令后面加上 & 会直接将该命令放在后台执行
ping baidu.com &

# 先把进程放后台,在配合bg将暂停的进程在后台恢复
Ctrl+z
jobs:查看后台进程数
bg :让暂停的程序运行起来,后面加数字,就可以运行第几个被暂停的进程(默认是最后一个)
dg :把后台暂停的程序调到前台运行,后面加数字,可以将第n个进程调到前台运行(默认是最后一个)

# 将执行的命令放入后台执行,并将输出结果保存到 nohup.out文件中
nohup
nohup ping baidu.com &

# 将进程放入后台(开启一个子shell)
screen
screen ping baidu.com
-ls :查看所有screen的后台进程
-r :指定后台进程号,进入该后台进程
-s :指定后台进程名字
Ctrl + a + d :放在后台执行

查看所有screen后台进程

平均负载

# 什么是平均负载
平均负载是指,单位时间内,系统处于可运行状态(R)和不可中断状态(D)的平均数,也就是平均活跃进程数
# 平均负载多少合理
假设我们在有2个CPU系统上看到平均堵在为2.7,6.90, 12.98 那么说明在过去的一分钟内系统有136%的超载(2.7/2*100%=136%)
五分钟:(6.90/2*100%=345%)
十五分钟:(12.98/2*100%=649%)
# 如何查看cpu个数
/proc/cpuinfo
top 按 1
lscpu
# cpu类型
cpu密集型 :计算相关
IO密集型 :数据库相关服务

企业及负载分析实战

# stress是linux系统压力测试工具,这里我们用做异常进程模拟平均负载升高场景
stress 
# 分析负载
mpstat  :是多核cpu性能分析工具,用来实时检查每个CPU的性能指标,以及所有cpu的平均指标
pidstat :是一个常见的进程性能分析工具,用来实时查看进程的CPU,内存,IO,以及上下文切换等性能指标。
# 启动了4个cpu密集型的进程,4个占用cpu的进程
stress --cpu 4 --timeout 600

# 查看所有cpu,5s显示一次数据
mpstat -P ALL 5  

'可以看出来是用户态的进程导致cpu过高'

# 查看到底是哪个程序引起用户态或内核负载过高
pidstat -u 5 2
-u 5 :指定5s输出一次数据
2 :总共输出两组数据

# 总结分析流程
1.使用uptime或top命令查看系统负载
2.看一分钟,五分钟,十五分钟的负载趋势
3.看是什么情况导致负载上升
mpstat -P ALL 5    是用户态,还是内核态,导致负载上升
用户态 :cpu使用率,大量进程
内核态 :磁盘IO,压缩文件,网络存储挂载,下载文件,数据库查询语句
4.查看到底哪个程序引发用户态或内核态的负载上升
pidstat -u 5 2
5.查看到时某个进程后
	运维:执行了某条命令
		 启动了某个服务
	开发 :查看开发写好的程序日志,导出日志交给开发
posted @   FYytfg  阅读(37)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示