摘要: 小结 碰到常规问题无法解释的 CPU 使用率情况时,首先要想到有可能是短时应用导致的问题,比如有可能是下面这两种情况。 第一,应用里直接调用了其他二进制程序,这些程序通常运行时间比较短,通过 top 等工具也不容易发现。 第二,应用本身在不停地崩溃重启,而启动过程的资源初始化,很可能会占用相当多的 阅读全文
posted @ 2019-09-26 16:41 落寞一生 阅读(649) 评论(0) 推荐(1) 编辑
摘要: 小结 CPU 使用率是最直观和最常用的系统性能指标,更是我们在排查性能问题时,通常会关注的第一个指标。所以我们更要熟悉它的含义,尤其要弄清楚用户(%user)、Nice(%nice)、系统(%system) 、等待 I/O(%iowait) 、中断(%irq)以及软中断(%softirq)这几种不同 阅读全文
posted @ 2019-09-26 16:29 落寞一生 阅读(648) 评论(0) 推荐(0) 编辑
摘要: 具体分析 自愿上下文切换变多了,说明进程都在等待资源,有可能发生了 I/O 等其他问题; 非自愿上下文切换变多了,说明进程都在被强制调度,也就是都在争抢 CPU,说明 CPU 的确成了瓶颈; 中断次数变多了,说明 CPU 被中断处理程序占用,还需要通过查看 /proc/interrupts 文件来分 阅读全文
posted @ 2019-09-26 16:08 落寞一生 阅读(682) 评论(0) 推荐(1) 编辑
摘要: 小结 总结一下,不管是哪种场景导致的上下文切换,你都应该知道: CPU 上下文切换,是保证 Linux 系统正常工作的核心功能之一,一般情况下不需要我们特别关注。 但过多的上下文切换,会把CPU时间消耗在寄存器、内核栈以及虚拟内存等数据的保存和恢复上,从而缩短进程真正运行的时间,导致系统的整体性能大 阅读全文
posted @ 2019-09-26 15:55 落寞一生 阅读(984) 评论(0) 推荐(0) 编辑
摘要: 小结: 平均负载提供了一个快速查看系统整体性能的手段,反映了整体的负载情况。但只看平均负载本身,我们并不能直接发现,到底是哪里出现了瓶颈。所以,在理解平均负载时,也要注意: 平均负载高有可能是 CPU 密集型进程导致的; 平均负载高并不一定代表 CPU 使用率高,还有可能是 I/O 更繁忙了; 当发 阅读全文
posted @ 2019-09-26 15:50 落寞一生 阅读(296) 评论(1) 推荐(1) 编辑