写点什么

如何快速排查线上 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:199273

评论

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

Redis-缓存雪崩,缓存击穿,缓存穿透

topsion

redis

vivo 云服务海量数据存储架构演进与实践

vivo互联网技术

数据库 架构 云服务 数据存储

Linux高级编程常用的系统调用函数汇总

哒宰的自我修养

Linux 线程 网络编程 进程 MySQL数据库

C++中的vector和Java中的ArrayList的构造函数的区别

jiangling500

Java c++ ArrayList vector

【原创】Spring Boot 如何手写starter

田维常

springboot

【原创】Spring Boot终极篇《上》

田维常

springboot

【原创】Spring Boot 过滤器、监听器、拦截器的使用

田维常

springboot

设置Vmware中的Ubuntu为桥接模式

jiangling500

ubuntu vmware 桥接

JDK8中的新时间API:Duration Period和ChronoUnit介绍

程序那些事

java8 jdk8 新特性 程序那些事 时间API

推进AI融合 2020 LF AI & DATA DAY(AI开源日)即将召开

开源技术够用了么?我的 NAS 选型与搭建过程

LeanCloud

开源 NAS

面试官:Java装箱与拆箱的区别?

田维常

springboot

TensorFlow 篇 | TensorFlow 数据输入格式之 TFRecord

Alex

tensorflow keras dataset tfrecord

网易云音乐基于 Flink + Kafka 的实时数仓建设实践

Apache Flink

flink

刷了LeetCode的链表专题,我发现了一个秘密!

Simon郎

Java 面试 链表

高防服务器是什么?

德胜网络-阳

5G时代的到来对直播的影响

anyRTC开发者

5G 音视频 WebRTC 直播 RTC

深度解读智能推荐系统搭建之路 | 会展云技术揭秘

京东科技开发者

人工智能 推荐系统

追风人与笃行者:云手机的2020风云录

脑极体

Polkadot系列(二)——混合共识详解

QTech

区块链 polkadot

国内外互联网大厂工程师联合推荐:程序员三门课+151个建议

小Q

Java 学习 编程 程序员 开发

看完这篇你还能不懂C语言/C++内存管理?

C语言与CPP编程

c c++ C语言 内存管理 编程开发

送你4句口诀 云存储选型不再犯难

京东科技开发者

云存储

23张图!万字详解「链表」,从小白到大佬!

王磊

Java 数据结构与算法

第一届“多模态自然语言处理研讨会”精彩回顾(免费获取PPT)

京东科技开发者

人工智能 自然语言处理

甲方日常 44

句子

工作 随笔杂谈 日常

【原创】Spring Boot终极篇《下》

田维常

springboot

一期二班 - 吴水金 - 第五课作业

吴水金

如何将MySQL查询优化到极致?

冰河

MySQL sql 性能优化 查询优化 查询

面经手册 · 第16篇《码农会锁,ReentrantLock之公平锁讲解和实现》

小傅哥

Java 面试 小傅哥 ReentrantLock 公平锁

社会正在惩罚不读书的人!这份程序员进阶书单,值得收藏~

田维常

程序员 电子书

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