beepbeforebeepingalwayspracticeFeynmanlearningmethodunderstandsystemknowledgeprisonsmasterperformanceanalysistools多练习,多思考,多提问仅记录个人学习记录,欢迎指正指正1.前言什么是平均负载?它们的用途是什么?如何使用它?2.平均负载2.1。定义平均负载。平均活跃进程总数是指单位时间内系统中处于可运行和不可中断状态的进程的平均总数。2.2.目的平均负载是一个系统指标。当平均负载高于CPU数70%时,需要检查是否因为负载高导致进程响应变慢,影响了服务的正常运行。平均负载是指单位时间内系统处于可运行和不可中断状态的平均进程数。因此,它不仅包括正在使用CPU的进程,还包括等待CPU和等待I/O的进程的CPU使用率。指的是单位时间内CPU繁忙度的统计,不一定与平均负载完全对应。CPU-intensiveProcesses,大量使用cpu会导致平均负载增加,同时cpu使用率也会增加,两者是一样的。对于I/O密集型进程,等待I/O也会增加平均负载,但CPU使用率不一定高。2.3.问:平均负载什么时候最合理?uptime命令看到的三个负载值的平均值是不是越小越好?答:理想情况下,平均负载等于CPU的数量。当平均负载高于CPU个数的70%时,需要分析排查负载过高的问题。所以三个负载值的平均值并不是越小越好。我个人认为三个负载值的平均值只能代表一个平均值。应该看到的是趋势变化。最后1分钟和之前15分钟差距过大,说明负载突然变大了,需要重新观察。高如果持续存在,则表示系统或服务存在问题。2.4、实践2.4.1、cpu密集型进程2.4.2、I/O密集型进程没看到iowait增加?将stress换成stress-ng:stress-ng-i1--hdd1--timeout6002.4.3,大量流程场景3,附录3.1,问题&解决方案安装stress失败,因为centOs7无法安装,并且一直报错“Nopackagestressavailable”,后来找资料用rmp安装,先下载rpm包http://ftp.tu-chemnitz.de/pub..._64/rpmforge/RPMS/stress-1.0.2-1.el7.rf.x86_64.rpm,然后通过rpm安装-Uvhstress-1.0.2-1.el7.rf.x86_64.rpm没看到iowait增加?3.2.压力工具是一款Linux系统压力测试工具。这里我们将其作为一个异常进程来模拟平均负载增加的场景。sysstat是一个用于监控和分析系统性能的Linux性能工具。一般会用到这个包的两个命令mpstat而pidstatmpstat是一个常用的多核cpu性能分析工具,用来实时查看每个cpu的性能指标和所有cpu的平均指标。以及上下文切换等性能指标4.参考《极客时间》Linux性能优化实践
