写点什么

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

  • 2019-06-14
  • 本文字数:1199 字

    阅读完需:约 4 分钟

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

无论是运维还是开发,和 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 小时


2019-06-14 10:199085

评论

发布
暂无评论
发现更多内容

Android面试:IntentService源码分析

android 程序员 移动开发

APP终极瘦身方案

android 程序员 移动开发

Android面经分享:从15K到32K,从小厂到大厂,我是如何做到的

android 程序员 移动开发

Android面试主题整理合集(三)

android 程序员 移动开发

Android面试:一个进程有多少个-Context-对象?看似初级的问题,答的好的人确不多

android 程序员 移动开发

AOP 最后一块拼图 _ AST 抽象语法树 —— 最轻量级的AOP方法

android 程序员 移动开发

App怎么做才能永不崩溃

android 程序员 移动开发

Android面试大全基础篇(校招+社招)含答案

android 程序员 移动开发

Android高级面试题:面试十几家公司入职外企后,掌握这几个关键点面试通过率很大

android 程序员 移动开发

APP 热修复都懂了,你会 SDK 热修复吗?最全方案在这里!

android 程序员 移动开发

ARouter系列3:继续学习(手写一个Arouter框架)

android 程序员 移动开发

AsyncTask相关知识

android 程序员 移动开发

Android面试老生常谈的 View 事件分发机制,看这一篇就够了!

android 程序员 移动开发

Android高频网络面试专题必知必会

android 程序员 移动开发

Android面经分享:快手、字节跳动、百度

android 程序员 移动开发

Android面试必问:Handler、Bitmap、线程

android 程序员 移动开发

Android面试题之性能优化篇

android 程序员 移动开发

Android隐藏系统状态栏(沉浸式状态栏)和设置状态栏颜色

android 程序员 移动开发

Android面试题(window、进程、线程篇

android 程序员 移动开发

Android:帧动画和补间动画看这篇就足够了!

android 程序员 移动开发

App基于手机壳颜色换肤?先尝试一下用 KMeans 来提取图像中的主色

android 程序员 移动开发

Android面试必备!爆火超全的《Android性能优化全方面解析》

android 程序员 移动开发

Android题集四大组件之Service

android 程序员 移动开发

Android高级架构师整理面试经历发现?(大厂面经+学习笔记

android 程序员 移动开发

Android:AsyncTask使用

android 程序员 移动开发

App 金刚区导航菜单,类似淘宝、QQ 音乐等 APP 导航,方格布局横向滑动翻页带滚动条

android 程序员 移动开发

BAT资深面试官-带你破解Android高级面试

android 程序员 移动开发

Android面试官必问的事件分发,你答得上来吗?

android 程序员 移动开发

Android面试官:“来给我讲讲View绘制?

android 程序员 移动开发

Android:彻底消灭OOM的实战经验分享(千分之1-5----万分之0-2)

android 程序员 移动开发

Angular-集成-Typescript-版本-Echarts-(附代码)

android 程序员 移动开发

如何快速排查线上 Linux 系统故障?| 极客时间_软件工程_倪朋飞_InfoQ精选文章