php发展

注册

 

发新话题 回复该主题

Linux性能优化实战CPU [复制链接]

1#
白癜风症状都有哪些 http://pf.39.net/xwdt/160425/4834283.html

Linux性能分析概要

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....

分享 转发
TOP
发新话题 回复该主题