当前位置: 首页 > Linux

深入了解liunx的平均负载

时间:2023-04-06 22:26:32 Linux

查找系统的平均负载,可以使用top或者uptime命令查看$uptime14:12:35up289days,18:50的后三位数字,2个用户,loadaverage:0.12,0.09,0.07,once是过去1分钟、5分钟、15分钟的平均负载(LoadAverage)。我们经常看到它,但你不一定了解loadaverage的真正含义。平均负载是单位时间的CPU使用率吗?0.12表示CPU使用率为12%?可能很多人是这样理解的,这样理解是错误的。如果想看官方的分析,可以通过命令manuptime查看。英文原文如下:Systemloadaverages是处于可运行或不可中断状态的平均进程数。处于可运行状态的进程正在使用CPU或正在等待使用CPU。处于不可中断状态的进程正在等待某些I/O访问,例如等待磁盘。取三个时间间隔的平均值。负载平均值未针对系统中的CPU数量进行标准化,因此负载平均值为1意味着单CPU系统一直处于加载状态,而在4CPU系统上则意味着它有75%的时间处于空闲状态。下面详细分析什么是平均负载,平均负载是指系统处于运行状态和不间断状态的平均进程数,即平均活跃进程数,与CPU使用率无关。那么什么是可运行态进程和不可中断态进程呢?可运行状态进程是指正在使用CPU或等待CPU的进程。我们在ps命令下看到的running和Runnable进程就是runnable状态的进程。不可中断态进程是指处于内核态关键进程的进程,这些进程是不可中断的。比如最常见的就是等待硬件设备的I/O响应。我们在ps命令下看到处于UninterruptibleSleep的进程是一个不可中断状态的进程。平均负载可以简单理解为单位时间内系统给定的活跃进程数。什么负载平均是合理的?理想情况下,平均负载等于CPU的数量。如果平均负载高于CPU数,则表示系统超载。查询系统CPU个数:grep'modelname'/proc/cpuinfo|wc-l当系统平均负载在一定时间内高于CPU数量的70%时,需要注意系统负载过高的问题。当系统负载较高时,进程的响应速度会变慢,可能会影响系统提供的服务的正常运行。平均负载与CPU使用率的区别很多人在实际工作中经常将平均负载与CPU使用率混淆。高平均负载意味着有许多活动进程,但不一定是高CPU使用率。这里给大家总结一下。:平均负载是指系统中平均可运行和不可中断的进程数,包括正在使用CPU的进程和等待CPU和等待IO的进程。CPU使用率是指一段时间内CPU使用率的统计数据。当系统多为CPU密集型进程时,两者基本一致;当系统大部分是IO密集型进程时,平均负载高,但CPU利用率不一定高;当系统有很多进程等待CPU调度时,平均负载高,CPU使用率也会高。来自kocor