白癜风症状都有哪些 http://pf.39.net/xwdt/160425/4834283.htmlLinux性能分析概要
1.性能指标
linux性能指标.png
随着应用负载的增加,系统资源的使用也会升高,甚至达到极限。而性能问题的本质,就是系统资源已经达到瓶颈,但请求的处理却还不够快,无法支撑更多的请求。性能分析,其实就是找出应用或系统的瓶颈,并设法去避免或者缓解它们,从而更高效地利用系统资源处理更多的请求。这包含了一系列步骤,比如:
选择指标评估应用程序和系统的性能
为应用程序和系统设置性能目标
进行性能基准测试
性能分析定位瓶颈
优化系统和应用程序
性能监控和告警
2.linux性能工具图谱
linux性能工具图谱.png
3.linux性能优化思维导图
linux性能优化思维导图.png
平均负载
1.什么是平均负载?
平均负载:单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是平均活跃进程数,它和CPU使用率并没有直接关系。
可运行状态的进程:正在使用CPU或者正在等待CPU的进程,也就是我们常用ps命令看到的处于R状态(Running或Runnable)的进程。不可中断状态的进程:正处于内核态关键流程中的进程,并且这些流程是不可打断的,比如最常见的是等待硬件设备的I/O响应,也就是我们在命令中看到的D状态(UninterruptibleSleep,也称为DiskSleep)的进程。
2.平均负载为多少时合理
平均负载最理想的情况是等于CPU个数。查看系统有几个CPU
$grepmodelname/proc/cpuinfo
wc-l2
uptime
给了我们三个不同时间间隔的平均值,给我们提供了分析
系统负载趋势
的数据来源,让我们更全面、更立体地理解目前的负载情况。
1分钟、5分钟、15分钟的三个值基本相同,或者相差不大,说明系统负载很平稳。
如果的值远小于的值,说明系统最近1分钟的负载在减少,而过去15分钟内却有很大的负载
如果的值远大于的值,就说明最近1分钟的负载在增加。一旦的平均负载接近或超过了CPU的个数,就意味着系统正在发生过载的问题。
3.平均负载与CPU使用率
平均负载不仅包括了正在使用CPU*的进程,还包括了*等待CPU和等待I/O的进程。CPU使用率是指单位时间内CPU繁忙情况的统计,跟平均负载并不一定完全对应。比如:
CPU密集型进程,使用大量CPU会导致平均负载升高,此时这两者是一致的;
I/O密集型进程,等待I/O也会导致平均负载升高,但CPU使用率不一定很高
大量等待CPU的进程调度也会导致平均负载升高,此时的CPU使用率也会比较高。
4.检查平均负载的工具
:当前时间、系统运行时间、正在登录用户数、过去1分钟、5分钟、15分钟的平均负载
$uptime00:19:43up2min,1user,loadaverage:3.15,1.54,0.60
#-d参数表示高亮显示变化的区域$watch-duptimeEvery2.0s:uptimeWedDec:21::21:14up3min,1user,loadaverage:0.87,1.23,0.58
mpstat:查看CPU使用率的变化情况
#-PALL表示监控所有CPU,后面数字5表示间隔5秒输出一组数据$mpstat-PALL5Linux4.15.0-42-generic(c-VirtualBox)12/26/_x86_64_(2CPU)12:22:14AMCPU%usr%nice%sys%iowait%irq%soft%steal%guest%gnice%idle12:22:19AMall4..........:22:19AM04..........:22:19AM14..........86
pidsta查看进程CPU使用率情况
#间隔5秒后输出一组数据$pidstat-u51Linux4.15.0-42-generic(c-VirtualBox)12/26/_x86_64_(2CPU)12:24:54AMUIDPID%usr%system%guest%CPUCPUCommand12:24:59AM013....kworker/u4::24:59AM....dockerd12:24:59AM....docker-containe12:24:59AM....Xorg12:24:59AM184257....