linux查看cpu性能模式 Linux性能监测CPU篇
linux查看cpu性能模式 Linux性能监测CPU篇
2024-09-27 05:32:40  作者:皇家之花  网址:https://m.xinb2b.cn/know/lnd309477.html


Linux性能监测:CPU篇

前言

接前一篇《Linux性能监测:介绍篇》,性能是一个永恒的话题。我们公司的运维管理员每天都收到各种告警短信,一会这个主机的CPU触发阈值了,一会那个主机的CPU也触发阈值了。当运维管理员收到这种短信的时候,运维管理员就需要形成以下条件反射,或者说,运维管理员就需要具备以下知识储备。

什么是CPU?CPU过高会带来哪些问题?如何检查CPU健康状态?如何定位CPU过高的根源?

所以说,只有具备了扎实的基本功,才能从容面对性能难题。对于上面的问题,接下来,我们将一一进行回答和总结。

什么是CPU

引用百度百科里的解释:中央处理器(CPU,Central Processing Unit)是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心(Control Unit)。它的功能主要是解释计算机指令以及处理计算机软件中的数据。CPU主要包括运算器(算术逻辑运算单元,ALU,Arithmetic Logic Unit)和高速缓冲存储器(Cache)及实现它们之间联系的数据(Data)、控制及状态的总线(Bus)。它与内部存储器(Memory)和输入/输出(I/O)设备合称为电子计算机三大核心部件。

CPU的主要功能是解释计算机指令以及处理计算机软件中的数据,并执行指令。说简单点,就是我们编写的程序,经过编译后,最终都会变成一条条的指令,由CPU来进行最终的执行。通常CPU的运算速度、主频、缓存、核心数,这几个参数就决定了CPU的好坏,一般情况下,CPU的主频越高、缓存越大、核心数越多,这样的CPU运转速度就很快,处理图形图像文件起来,速度就越快,这种CPU的价格就比较贵。

除了上面的一些定义和常识外,我们还需要明白一些特殊名词的含义。

物理CPU

主板上实际插入的cpu数量;这个是物理存在的设备。打开主板,我们是可以肉眼看到的。在Linux服务器上,我们可以通过以下命令查看物理CPU个数:cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l

CPU核数

核数就是指CPU上集中的处理数据的cpu核心个数,单核指cpu核心数一个,双核则指的是两个。通常每个CPU下的核数都是固定的,比如你的计算机有两个物理CPU,每个CPU是双核,那么计算机就是四核的。在Linux服务器上,我们可以通过以下命令查看CPU核数:cat /proc/cpuinfo | grep "cpu cores" | wc -l

逻辑CPU

一般情况下,逻辑CPU=物理CPU个数×每颗核数,如果不相等的话,则表示服务器的CPU支持超线程技术(HT:简单来说,它可使处理器中的1颗内核像2颗内核那样在操作系统中发挥作用。这样一来,操作系统可使用的执行资源扩大了一倍,大幅提高了系统的整体性能,此时逻辑CPU=物理CPU个数×每颗核数x2);可以通过以下命令来查看逻辑CPU个数:cat /proc/cpuinfo | grep "processor" | wc -l

CPU过高会带来哪些问题

我们收到CPU过高的告警,我们一般都需要紧急对应的。我们都知道,CPU是用来运行各种程序,做各种计算的,一旦CPU处于高负荷状态,容易引起服务响应速度变慢,进而导致整个服务不可用,特别是在业务高峰期可能导致雪崩效应,最终整个系统出现瘫痪。所以,一旦出现CPU过高的告警,我们一定要谨慎、认真对待。

如何检查CPU健康状态

我们都知道复制文件通常占用较少CPU,因为大部分工作是由DMA完成,只是在完成复制以后给一个中断让CPU知道复制已经完成;科学计算通常占用较多的CPU,大部分计算工作都需要在CPU上完成,内存、硬盘等子系统只做暂时的数据存储工作。要想监测和理解CPU的性能需要知道一些操作系统的基本知识,比如:中断、进程调度、进程上下文切换、可运行队列等。这里我们用个例子来简单介绍一下这些概念和他们的关系,CPU很无辜,是个任劳任怨的打工仔,每时每刻都有工作在做(进程、线程)并且自己有一张工作清单(可运行队列),由老板(进程调度)来决定他该干什么,他需要和老板沟通以便得到老板的想法并及时调整自己的工作(上下文切换),部分工作做完以后还需要及时向老板汇报(中断),所以打工仔(CPU)除了做自己该做的工作以外,还有大量时间和精力花在沟通和汇报上。

CPU也是一种硬件资源,和任何其他硬件设备一样也需要驱动和管理程序才能使用,我们可以把内核的进程调度看作是CPU的管理程序,用来管理和分配CPU资源,合理安排进程抢占CPU,并决定哪个进程该使用CPU、哪个进程该等待。操作系统内核里的进程调度主要用来调度两类资源:进程(或线程)和中断,进程调度给不同的资源分配了不同的优先级,优先级最高的是硬件中断,其次是内核(系统)进程,最后是用户进程。每个CPU都维护着一个可运行队列,用来存放那些可运行的线程。线程要么在睡眠状态(blocked 正在等待 IO)要么在可运行状态,如果CPU当前负载太高而新的请求不断,就会出现进程调度暂时应付不过来的情况,这个时候就不得不把线程暂时放到可运行队列里。我们在这里要讨论的是性能监测,而上面谈了一堆都没提到性能,那么这些概念和性能监测有什么关系呢?关系重大。如果你是老板,你如何检查打工仔的效率(性能)呢?我们一般会通过以下这些信息来判断打工仔是否偷懒:

打工仔接受和完成多少任务并向老板汇报了(中断);打工仔和老板沟通、协商每项工作的工作进度(上下文切换);打工仔的工作列表是不是都有排满(可运行队列);打工仔工作效率如何,是不是在偷懒(CPU 利用率)。

现在把打工仔换成CPU,我们可以通过查看这些重要参数:中断、上下文切换、可运行队列、CPU利用率来监测 CPU的性能。

要监控CPU的性能,那我们就必须先知道每个参数的健康区间,一个评判的标准,这样才能初步判断CPU的健康状况。

CPU利用率;如果CPU有100%利用率,那么应该到达这样一个平衡:65%-70% User Time30%-35% System Time0%-5% Idle Time上下文切换;上下文切换应该和CPU利用率联系起来看,如果能保持上面的CPU利用率平衡,大量的上下文切换是可以接受的;可运行队列;每个可运行队列不应该超过3个线程(每处理器),比如:双处理器系统的可运行队列里不应该超过6个线程。

确定了评判标准后,那我们就需要通过工具实时的查看系统的这些重要参数是否在健康标准范围之内。而我这里将重点介绍vmstat和top这两个工具。

《Linux vmstat命令详解》《Linux top命令详解》如何定位CPU过高的根源

如果定位CPU过高的根源,这完全是一个技术活和经验活;也就是说,如果你不是一个“老中医”的话,处理这种问题就比较吃劲了。要定位CPU过高的根源,首先我们需要知道这台服务器上跑了写什么应用,这个是最起码的。同时,我们也需要积累一些经验,哪些操作会引起CPU过高。

除了通过上面的工具找到具体导致CPU飙升的进程和线程后,我们要根据部署的应用类型来做具体的分析。比如Java类的应用如何定位CPU飙升的问题。

总结

关于CPU篇就总结到此结束。这篇文章完全按照实际的工作要求进行的总结,源于工作,但是内容多余工作,掌握了这篇文章中的内容,能够让你基本能够了解性能中关于CPU的内容,也能够让你在日后的工作中从容的面对CPU性能问题。

果冻想,认真玩技术的地方。

2018年12月23日,于内蒙古呼和浩特。

  • 翡翠价格(这些有意思的翡翠暗语)
  • 2024-09-27这些有意思的翡翠暗语玩翡翠的人经常会听到一些行内的术语,今天小编和大家聊聊翡翠里那些很有意思的术语“对庄”许多新翠友都不太明白是什么意思现在书上、网络上也查不到太多的资料资料上大概的意思都没错——在翡翠交易中,买家中意卖。
  • 检验批抽样技巧(抽样及容量总结)
  • 2024-09-27抽样及容量总结来源:建筑工程鲁班联盟版权归原作者所有依据GB50300-2013《建筑工程施工质量验收统一标准》总结检验批的划分、容量及抽样↓↓↓1地基1.1检验批的划分地基子分部可以按照基础类型划分为一个检验批,。
  • 王世端的烦恼 王世端徘徊
  • 2024-09-27王世端的烦恼 王世端徘徊夜色已深,寒冬已至,我独自走在他乡的长街,刺骨的寒风吹痛我的脸,我在思念故乡的冬天可是啊!我反复思索了良久,以至于我走过了一个又一个路口,故乡仿佛只是童年的回忆,我却记不起故乡的明月!或许,故乡早已是。
  • 70周年感谢祖国的歌(歌颂祖国恭迎新春)
  • 2024-09-27歌颂祖国恭迎新春歌声温暖岁月,歌声传递生活在这岁岁年年里,总有些旋律让你热泪盈眶,总有些歌词让你铭记心间当歌声再次响起时,我们的心中都会不约而同,随着节拍,细数岁月庆祝新中国成立70周年,51听春节特别策划,70周年。
  • 炭疽病雨季(又到初夏关键期)
  • 2024-09-27又到初夏关键期天气渐热,各地雨水也开始增多,这时也是母苗开始大量抽生匍匐茎的时期,同时也是草莓育苗期第一大病害炭疽病的高发期,有人说:炭疽病处理得好是病,处理不好要命真不是危言耸听,如果预防不好,那可能育苗工作就会。
  • 小寒大寒又一年满园春(大寒瑞叶生香迎春过年)
  • 2024-09-27大寒瑞叶生香迎春过年大寒左河水蜡树银山炫皎光,朔风独啸静三江老农犹喜高天雪,况有来年麦果香瑞雪兆丰年过了大寒,便是年;挨过严冬,便是春不用对面前的寒冷大雪发愁,你只要憧憬来年的丰收冬已到尾声,春在不远处张望,一想到这,眼。
  • 广州新博物馆地址在哪里(广州南站多了一座)
  • 2024-09-27广州南站多了一座【春运进行时】光明日报广州1月12日电(记者吴春燕通讯员陈涛、吴彬)1月12日,步履匆匆的旅客欣喜地发现,广州南站候车室多了一座“流动的博物馆”百年前的粤汉铁路股票、新中国成立前的铁路手提信号灯、跨越。
  • 快速提高生产计划的方法(生产知识的人如何学习知识)
  • 2024-09-27生产知识的人如何学习知识文章作者:流云作者简介:一个用文字传播力量的斜杠小透明稿件来源:秋叶写作特训营助教:林琳有时候我觉得,世界正在悄悄惩罚我这种贪多而嚼不烂的人一听说出了本什么新书就特别紧张,生怕自己没看,知识落后于他人。
  • 女人有腰窝是什么原因
  • 2024-09-27女人有腰窝是什么原因出现腰窝主要与遗传因素有一定的关系,是人体正常的一种生理结构女性只要符合腰窝的生理结构特点,都是有可能会出现腰窝的,另外,还有就是一些身材较胖、年龄大的老年女性也会出现腰窝,这都是正常的除此以外,肌肉。
  • 小青桔茶正确的冲泡方法(小青桔茶怎么正确冲泡方法)
  • 2024-09-27小青桔茶怎么正确冲泡方法首先准备好茶具和盖碗一壶开水、一颗小青桔茶,用开水把盖碗等茶具烫洗干净然后撕开小青桔泡袋,将茶叶放入盖碗中,之后沿着小青柑边缘开始注水注水后快速出汤,第一泡为洗茶不饮用再次注水后,浸润5s左右,将茶汤。
  • 栀子花怎样养护快打开花苞(让栀子花开花有)
  • 2024-09-27让栀子花开花有导语:让栀子花开花,3个催花方法,花朵大又香又美,开花时间长!栀子花是很多朋友喜爱的花卉植物,不管是养在花盆,养一盆栀子花放在家里的阳台上,还是养一棵在院子里,不管是盆栽还是地栽,都可以长势旺盛,它的。