哪些原因会导致Linux负载飙升?老男孩Linux培训班
老男孩IT教育
行业新闻
2022年6月7日 11:44
服务器负载相信大家已经看过了不少技术大牛总结的其定义及分析,其实宏观来看,服务器负载是用来反映当前服务器运行状态的,主要受三个因素影响:CPU使用、IO消耗和内存使用,哪些原因会导致负载飙升呢?请看下文:
服务器负载相信大家已经看过了不少技术大牛总结的其定义及分析,其实宏观来看,服务器负载是用来反映当前服务器运行状态的,主要受三个因素影响:CPU使用、IO消耗和内存使用,哪些原因会导致负载飙升呢?请看下文:
首先我们要区别下CPU负载和CPU利用率,它们是两个不同的概念,但两者均可在同一个top命令中进行显示,CPU利用率显示的是程序在运行期间实时占用的CPU百分比,这是对一个时间段内CPU使用状况的统计。
通过这个指标可以看出在某一个时间段内CPU被占用的情况,如果被占用时间很高,那么就需要考虑CPU是否已经处于超负荷运作。
而CPU负载显示的是在一段时间内CPU正在处理以及等待CPU处理的进程数之和的统计信息,也就是CPU使用队列的长度的统计信息。
CPU利用率高并不意味着负载就一定大,可能这个任务是一个CPU密集型的。
一样CPU低利用率的情况下是否会有高Load Average的情况产生呢?理解占有时间和使用时间就可以知道,当CPU分配时间片以后,是否使用完全取决于使用者,因此完全可能出现低利用率高Load Average的情况。另外IO设备也可能导致CPU负载高。
CPU数量和CPU核心数(即内核数)都会影响到CPU负载,因为任务最终是要分配到CPU核心去处理的。两块CPU要比一块CPU好,双核要比单核好。因此,我们需要记住,除去CPU性能上的差异,CPU负载是基于内核数来计算的,即“有多少内核,即有多少负载”,如单核最好不要超过100%,也就是负载为1.00,如此类推。
Linux里有一个/proc目录,存放的是当前运行系统的虚拟映射,其中有一个文件为cpuinfo,这个文件里存放着CPU的信息。/proc/cpuinfo文件按逻辑CPU而非真实CPU分段落显示信息,每个逻辑CPU的信息占用一个段落,第一个逻辑CPU标识从0开始。
要理解该文件中的CPU信息,有几个相关的概念要知道,如:processor表示逻辑CPU的标识、model name表示真实CPU的型号信息、physical id表示真实CPU和标识、cpu cores表示真实CPU的内核数等等。
为了让学员学以致用,老男孩教育不断更新Linux培训教学大纲,与一众讲师精心打造Linux云计算SRE课程体系。老男孩教育Linux云计算SRE运维课程,从零基础开始授课,适合零基础且对Linux感兴趣的学员学习。课程的主要目的就是培养出专业的Linux系统工程师,名师授课全程面授教学,边讲边练帮助学员高效掌握Linux技术。
推荐阅读:
