是什么:
是衡量系统繁忙的一个综合指标
一个进程产生要占用很多资源
pid
内存
文件描述符
cpu
磁盘
主要是cpu,io的繁忙程度
ps ,top, sar :看cpu的繁忙
iostat,iotop:看磁盘繁忙
平均负载是指单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是平均活跃进程数。<br>系统平均负载被定义为在特定时间间隔内【cpu运行队列中的平均进程数】<br>
可运行状态进程
指正在使用cpu或者正在等待cpu的进程
ps命令看到处于R状态的进程。
不可中断进程
(你做什么事情的时候是不能打断的?)系统中常见的是等待硬件设备I/O
ps命令中看到的D状态的进程
平均负载的指标:
:~$ uptime<br> 10:09:38 up 2 days, 23:56, 3 users, load average: 0.58, 0.91, 0.96<br>
总结
1.一核的临界点为1, n核的临界点为n,经验临界点n*70%
2. 查询核数(用于计算负载):
grep -c "pysical id" /proc/cpuinfo
grep 'processor' /proc/cpuinfo |wc -l
grep 'cpu cores' /proc/cpuinfo |wc -l
top命令按1
lscpu
平均负载案例分析实战
1. 用stress,mpstat,pidstat等工具,找出平均负载升高的根源<br>
stress
stress是linux系统压力测试工具,这里我们用作异常进程模拟平均负载身高的场景<br>
stress --cpu 1 --timeout 600
mpstat
mpstat是【多核cpu性能分析工具】,用来实时查看每个cpu的性能指标,以及所有cpu的平均值。
iostat
iostat是【I/O性能分析工具】<br>
pidstat
pidstat是一个常用的【进程性能分析工具】,用来实时查看进程cpu,内存,I/O以及上下文切换等性能指标
案例命令集合<br>
1. 模拟cpu负载高<br>
stress --cpu 1 --timeout 600<br>
2.通过uptime或者w查看负载
watch -d uptime<br>
3.查看整体状态mpstat
mpstat -P ALL 1 : 查看每个cpu核心使用率<br>
linux系统系统优化的帮手<br>
- sar: collects and reports system activity information;<br> - iostat: reports CPU utilization and disk I/O statistics;<br> - tapestat: reports statistics for tapes connected to the system;<br> - mpstat: reports global and per-processor statistics;<br> - pidstat: reports statistics for Linux tasks (processes);<br> - sadf: displays data collected by sar in various formats;<br> - cifsiostat: reports I/O statistics for CIFS filesystems.<br>