如何快速排查线上 Linux 系统故障?| 极客时间

阅读数:6659 2019 年 6 月 14 日

无论是运维还是开发,和 Linux 打交道、在服务器上分析系统性能是每个技术人的日常。

然而,性能优化也是软件系统中最有挑战的工作之一,就算看了很多资料和书籍,但一旦涉及到解决具体问题,还是会一脸懵逼,比如:

流量高峰期,服务器 CPU 使用率过高报警,你登录 Linux 上去 top 完之后,却不知道怎么进一步定位,到底是系统 CPU 资源太少,还是程序并发部分写得有问题?

系统并没有跑什么吃内存的程序,但在敲完 free 命令之后,却发现已经没什么内存了,到底是哪里占用了内存?为什么?

一大早就收到 Zabbix 告警,你发现某台存放监控数据的数据库主机 CPU 的 I/O Wait 较高,该怎么办?

大多数时候,我们只能看到“症状”,却不知道从哪儿下手排查和解决。之前学习那会儿,我也看了不少书,网上找过些零零散散的资料。

但说真的,Linux 性能优化是个系统工程,除了要学习那些基础知识点之外,还有 2 点比较重要:

1.  掌握性能优化的思路和方法,尝试大量 Linux 性能工具;
2.  从学习到输出,说白了就是不断实践,从实践中总结经验。

这样,你才能把观察到的性能问题跟系统原理关联起来,特别是把应用程序、库函数、系统调用、内核和硬件等不同的层级贯穿起来。

学习这事儿,还是得会抓重点,带着问题学,而不是先啃那些厚厚的原理书,容易把信心压垮。

只要你了解基础系统组件的原理和协作方式,掌握基本的性能指标和工具,熟悉工作中性能优化的常用 tips,就可以比较准确地分析和解决大多数性能问题了。

在此基础上,再阅读那些经典的操作系统书,才会事半功倍。

大概是去年年末那会儿,极客时间出了个《Linux 性能优化实战》专栏,抱着试试看的态度订阅了,平时工作挺忙,最近才陆陆续续追完,感觉收获很大,帮我解决了工作中的一些实际问题。

这两年知识付费泛滥,这个专栏是其中的一股清流了,可以负责地说,这是我在知识付费中收获最大的一门课。

课程大概有 60 讲,讲了 Linux 性能的基本指标、工具,以及相应的观测、分析和调优方法,用实际案例贯穿了从应用程序到操作系统的各个组件。

我看上线也不过几个月,已经有近 2W 人订阅了,截了一些评价,可以参考看看:



作者倪朋飞是微软的 Azure 资深工程师,主要负责开源容器编排系统 Kubernetes 在 Azure 的落地实践。

哥们有着近 10 年的云计算工作经验,不难理解对 Linux 的知识体系有这么深入的理解。
    
除了内容硬核以外,还有 2 点不得不提:

1、讲解得很成体系,每一章节都有基础篇、案例篇套路篇,选的案例比较有针对性,基本都是工作中用得上的,「套路篇」就更别说了,有好几篇我看了不止一遍。

2、倪朋飞不仅会回答大家提出的问题,还会针对那些有代表性进行公开答疑,确实挺走心。

说真的,光看评论区也能收获不少,自己的认知还是有局限性,有些问题现在没碰到,不等于以后不会出现。

说了半天,看看目录吧:

这个课体量不小,原价 99,现在正在拼团优惠,
戳我参与拼团,立减 20,到手只要 79 元,仅限 24 小时

收藏

评论

微博

发表评论

注册/登录 InfoQ 发表评论