前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >开发应该知道的Linux系统分析

开发应该知道的Linux系统分析

作者头像
只喝牛奶的杀手
发布2019-12-15 19:34:03
9300
发布2019-12-15 19:34:03
举报
文章被收录于专栏:只喝牛奶的杀手

一谈到Linux系统分析,大多数开发觉得不了解也没有关系,但是了解了可以帮你走的更远。从开发的角度了解CPU,MEMORY,IO,NETWORK。在日常工作中我们也会遇到一些Linux系统性能的问题,比如服务器CPU怎么就100%了,内存怎么飙升?CPU,MEMORY,IO,NETWORK这四者是高度依赖,相互影响。

  • 可用内存的减少可能增加大量的交换,系统负载上升甚至崩溃
  • 网卡的大吞吐量会导致更高的CPU开销
  • 大量的磁盘写请求会消耗CPU和IO
  • CPU狂飙会造成大量进程等待CPU资源,系统响应变慢,等待会造成进程数增加,进程增加又会造成内存使用增加,内存耗尽又会造成虚拟内存使用,使用虚拟内存,又会造成磁盘IO增加和CPU开销增加(用于进程切换、缺页处理的CPU开销)
  • ……

是结果还是原因?是直接结果还是间接结果?下图为Linux常用性能调优工具索引。

大多数情况下,虽然性能瓶颈的起因是程序性能差或者是内存不足或者是磁盘瓶颈等各种原因,但最终表现出的结果就是CPU耗尽,系统负载极高,响应迟缓,甚至暂时失去响应,因此我们观察服务器状况时,最先看的就是系统整体负载和CPU空闲度。

linux系统不像widows系统任务管理器做的那么优秀的GUI。

load average 代表:1分钟 5分钟 15分钟内系统的平均负荷。

当CPU完全空闲的时候 平均负荷为0;当CPU工作量饱和的时候 平均负荷为1。

如果只有1分钟的系统负荷大于1.0,其他两个时间段都小于1.0,这表明只是暂时现象,问题不大;如果15分钟内,平均系统负荷大于1.0,表明问题持续存在,不是暂时现象所以,你应该主要观察15分钟系统负荷,将它作为服务器正常运行的指标。

系统负荷为0:大桥上一辆车也没有

系统负荷为0.5:大桥一半的路段有车

系统负荷为1.0:大桥的所有路段都有车,也就是说大桥已经“满”了,但直到此时大桥还是能顺畅通行的

系统负荷为1.7:车辆太多了,大桥已经被占满了(100%),后面等着上桥的车辆为桥面车辆的70%.

以此类推,系统负荷2.0,意味着等待上桥的车辆与桥面的车辆一样多;

系统负荷3.0,意味着等待上桥的车辆是桥面车辆的2倍。总之,当系统负荷大于1,后面的车辆就必须等待了;系统负荷越大,过桥就必须等得越久。

CPU的系统负荷,基本上等同于上面的类比.大桥的通行能力,就是CPU的最大负荷;

桥梁上的车辆,就是一个个等待CPU处理的进程(process).如果CPU每分钟最多处理100个进程,那么系统负荷0.2,意味着CPU在这1分钟里只处理20个进程;

系统负荷1.0,意味着CPU在这1分钟里正好处理100个进程;

系统负荷1.7,意味着除了CPU正在处理的100个进程以外,还有70个进程正排队等着CPU处理.

当系统负荷持续大于0.7,你必须开始调查了,问题出在哪里,防止情况恶化.

当系统负荷持续大于1.0,你必须动手寻找解决办法,把这个值降下来.

当系统负荷达到5.0,就表明你的系统有很严重的问题,长时间没有响应,或者接近死机了.你不应该让系统达到这个值.

2个CPU表明系统负荷可以达到2.0,此时每个CPU都达到100%的工作量.推广开来,n个CPU的电脑,可接受的系统负荷最大为n.0.

例如,系统有8个CPU,如果load average的三个值长期大于8时,说 明CPU很繁忙,负载很高,可能会影响系统性能,但是偶尔大于8时,倒不用担心,一般不会影响系统性能.相反,如果load average的输出值小于CPU的个数,则表示CPU还有空闲的时间片,比如本例中的输出,CPU是非常空闲的。

说完系统负荷,我将会从CPU,MEMORY,IO,NETWORK来分析说明,下一篇为《开发应该知道的Linux系统分析-CPU篇》,欢迎关注,持续更新!


每周一句:要知道,你永远的对手,就是你自己。而你要战胜的,是过去的自己。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-12-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 只喝牛奶的杀手 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档