Linux内核技术实战课
邵亚方
前蘑菇街技术专家,Linux Kernel活跃贡献者
新⼈⾸单¥9.9
2834 人已学习
课程目录
已完结 23 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 如何让Linux内核更好地服务应用程序?
免费
Page Cache管理问题 (5讲)
01 基础篇 | 如何用数据观测Page Cache?
02 基础篇 | Page Cache是怎样产生和释放的?
03 案例篇 | 如何处理Page Cache难以回收产生的load飙高问题?
04 案例篇 | 如何处理Page Cache容易回收引起的业务性能问题?
免费
05 分析篇 | 如何判断问题是否由Page Cache产生的?
内存泄漏问题 (5讲)
06 基础篇 | 进程的哪些内存类型容易引起内存泄漏?
07 案例篇 | 如何预防内存泄漏导致的系统假死?
08 案例篇 | Shmem:进程没有消耗内存,内存哪去了?
09 分析篇 | 如何对内核内存泄漏做些基础的分析?
10 分析篇 | 内存泄漏时,我们该如何一步步找到根因?
TCP重传问题 (6讲)
11 基础篇 | TCP连接的建立和断开受哪些系统配置影响?
12 基础篇 | TCP收发包过程会受哪些配置项影响?
13 案例篇 | TCP拥塞控制是如何导致业务性能抖动的?
14 案例篇 | TCP端到端时延变大,怎样判断是哪里出现了问题?
15 分析篇 | 如何高效地分析TCP重传问题?
16 套路篇 | 如何分析常见的TCP问题?
内核态CPU利用率飙高问题 (4讲)
17 基础篇 | CPU是如何执行任务的?
18 案例篇 | 业务是否需要使用透明大页:水可载舟,亦可覆舟?
19 案例篇 | 网络吞吐高的业务是否需要开启网卡特性呢?
20 分析篇 | 如何分析CPU利用率飙高问题 ?
加餐 (1讲)
加餐 | 我是如何使用tracepoint来分析内核bug的?
结束语 (1讲)
结束语 | 第一次看内核代码,我也很懵逼
Linux内核技术实战课
15
15
1.0x
00:00/00:00
登录|注册

18 案例篇 | 业务是否需要使用透明大页:水可载舟,亦可覆舟?

邵亚方 2020-09-29
你好,我是邵亚方。
我们这节课的案例来自于我在多年以前帮助业务团队分析的一个稳定性问题。当时,业务团队反映说他们有一些服务器的 CPU 利用率会异常飙高,然后很快就能恢复,并且持续的时间不长,大概几秒到几分钟,从监控图上可以看到它像一些毛刺。
因为这类问题是普遍存在的,所以我就把该问题的定位分析过程分享给你,希望你以后遇到 CPU 利用率飙高的问题时,知道该如何一步步地分析。
CPU 利用率是一个很笼统的概念,在遇到 CPU 利用率飙高的问题时,我们需要看看 CPU 到底在忙哪类事情,比如说 CPU 是在忙着处理中断、等待 I/O、执行内核函数?还是在执行用户函数?这个时候就需要我们细化 CPU 利用率的监控,因为监控这些细化的指标对我们分析问题很有帮助。

细化 CPU 利用率监控

这里我们以常用的 top 命令为例,来看看 CPU 更加细化的利用率指标(不同版本的 top 命令显示可能会略有不同):
%Cpu(s): 12.5 us, 0.0 sy, 0.0 ni, 87.4 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
top 命令显示了 us、sy、ni、id、wa、hi、si 和 st 这几个指标,这几个指标之和为 100。那你可能会有疑问,细化 CPU 利用率指标的监控会不会带来明显的额外开销?答案是不会的,因为 CPU 利用率监控通常是去解析 /proc/stat 文件,而这些文件中就包含了这些细化的指标。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《Linux内核技术实战课》,如需阅读全部文章,
请订阅文章所属专栏新⼈⾸单¥9.9
立即订阅
登录 后留言

精选留言(4)

  • KennyQ
    碰到过一个由于开了THP导致REDIS内存使用率飙升的问题,一开始一直没有查到原因,最后灵感一瞬间想到了redis中优化的有一条,THP。于是把这个给关了解决的。
    2020-10-01
  • rgrui@瑞 珍珠白
    老师好,请问,top里面的st比较高,10%以上,是否说明kvm虚拟机需要调参优化
    2020-09-30
  • 我来也
    课后思考题:
    如何来观察系统中分配了多少 THP?

    ```
    grep -i HugePages /proc/meminfo
    AnonHugePages: 0 kB
    ShmemHugePages: 0 kB
    HugePages_Total: 0
    HugePages_Free: 0
    HugePages_Rsvd: 0
    HugePages_Surp: 0
    Hugepagesize: 2048 kB
    ```

    作者回复: 对的!

    2020-09-29
    4
  • 那时刻
    请问老师top命令里wa指标说的是cpu阻塞在IO的时间,这个应该包含网络IO吧?
    另外,si指标包含网络收发包,写文件落盘。请问在调用写文件函数的时候,在磁盘IO阻塞的时候,wa指标会升高,如果伴随着文件落盘,si指标是否也会随即升高呢?

    不知我的理解是否有误,烦请老师指正。

    作者回复: wa会包含网络I/O.

    在文件落盘时,会有BLOCK_SOFTIRQ软中断产生,所以si指标可能会升高。

    2020-09-29
收起评论
4
返回
顶部