0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux性能问题一直是程序员头上的“紧箍咒”

Linux爱好者 来源:Linux爱好者 2020-08-16 09:25 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

作为程序员,和 Linux 打交道,在服务器上分析系统性能情况,是每一个后端工程师都无法避开的事情。

无论你是开发还是运维,可能都经历过这样的场景:

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

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

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

Linux性能问题一直是程序员头上的“紧箍咒”,大多数时候,我们只能看到“症状”,却不知道从哪儿下手排查和解决。就算看了很多资料和书籍,一旦涉及到具体问题,还是会一脸懵逼。

谈学习经验,有 3 点比较重要:

先掌握性能优化的思路和方法,尝试大量 Linux 性能工具;

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

最终从学习到输出,从实践中总结经验。

这其中,一开始就劝退你的,可能就是 Linux 性能工具的使用,它除了要考虑性能指标的目的外,还要结合待分析的环境来综合选取。

虽说咱有布伦丹·格雷格(Brendan Gregg)大师整理的性能工具图谱,相信你也多少参考过,但其实它还不够具体,使用时还要去查找每个工具的手册,对比分析做出选择。

所以每次用的时候,大家都会想,有没有更好的方法来理解这些工具呢?相信当你看了倪朋飞《Linux 性能优化实战》中总结的几个性能工具图,一定会解决你的问题的。

他根据「性能指标」的不同,将工具划分为CPU、内存、磁盘 I / O及网络,4 大类型,会让你一次性把性能工具搞明白了。

看这些图,就很清晰了,比如,当遇到 I/O 性能问题时,可以根据不同的性能指标,使用 iostat、iotop、blktrace 等工具分析磁盘 I/O 的瓶颈。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    11382

    浏览量

    226573
  • Linux
    +关注

    关注

    88

    文章

    11871

    浏览量

    219978
  • 程序员
    +关注

    关注

    4

    文章

    957

    浏览量

    31054

原文标题:Linux 性能问题难点解析(内附 4 套图谱)

文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    M哥-Linux云计算SRE工程师-2025

    跨越技术周期底部:精通Linux云计算SRE,重塑程序员“双向增收”的底层逻辑 在当前的技术宏观语境下,程序员群体正面临着种深刻的结构性撕裂。以CRUD(增删改查)为核心的业务开发岗
    的头像 发表于 05-07 16:47 297次阅读

    RK3588的GMAC 时钟怎么一直没有?

    使用RK3588芯片,linux6.6内核,将自己设计的phy芯片驱动起来后,ifconfig 查看有eth0,phy 芯片驱动正常,但是RK3588芯片一直没有产生GMAC时钟信号,其他配置均正确,通过命令查看时钟配置也都正确的,但是为什么
    发表于 03-26 22:47

    ADS131A04读取ID错误,DRDY配置上拉但是空闲时一直是1.98V

    ADS131A04读取ID错误,DRDY配置上拉但是空闲时一直是1.98V,其他引脚空闲时电压都正常image.png
    发表于 03-26 11:34

    LabView 程序内存一直增长,内存溢出问题?

    LabView 程序内存一直增长,求助,有偿,比较复杂的程序,需要非常精通的人帮忙,谢谢
    发表于 01-12 09:05

    大理的AI野心藏不住了——风花雪月中千名程序员探讨人工智能

    2025 年12月4日至6日第二届CCF程序员大会暨大理人工智能与应用国际开发者大会在大理圆满落幕。
    的头像 发表于 12-24 17:45 977次阅读
    大理的AI野心藏不住了——风花雪月中千名<b class='flag-5'>程序员</b>探讨人工智能

    解析Linux的进程、线程和协程

    )用户态线程:协程不依赖于操作系统的线程管理,由程序员手动控制。 (2)轻量级:协程切换的开销非常小,适用于高并发的场景。 (3)高度可控性:程序员可以精确控制协程的执行流程。 二、进程、线程
    发表于 12-22 11:00

    程序员最常见谎言

    了。 28我已经测试过了,这个功能没问题,可以上线了。 29别担心,这个问题很快就能解决。 30代码快写完了,已经完成 90% 了 。 希望大家对程序员些容忍以及谅解! 各位程序员你们都被我说中了哪些?说说你们的观点
    发表于 12-10 08:24

    CW32L010x8用ADC例程调试时,发现ADC转换的结果一直是0xcdcd,为什么?

    CW32L010x8用厂家的ADC例程调试时,发现ADC转换的结果一直是0xcdcd,不知为何
    发表于 11-18 07:28

    【书籍评测活动NO.67】成为硬核Linux开发者:《Linux 设备驱动开发(第 2 版)》

    )。成为硬核Linux开发者Linux系统的设备驱动开发,一直给人门槛较高的印象,主要因内核机制抽象、需深度理解硬件原理、开发调试难度大所致。2021年,本讲解驱动开发的专著问世即获
    发表于 11-17 17:52

    LABVIEW 2023 Q1调用python后一直报错1671

    LABVIEW 2023Q1调用python后一直报错1671报错信息:PythonNode_AddTwoDoubles.vi中的打开Python会话Python returned
    发表于 11-12 09:51

    奔赴热AI,码力全开!Talkweb House@1024程序员日系列活动圆满收官

    1024程序员日”系列活动至此划上了个圆满句号。本届1024程序员节以“AI构建世界,智能引领未来”为主题,广邀技术大咖、产业领袖、企业代表与全球开发者齐聚星城
    的头像 发表于 10-27 18:59 1057次阅读
    奔赴热AI,码力全开!Talkweb House@1024<b class='flag-5'>程序员</b>日系列活动圆满收官

    开鸿智谷“以赛促学、以赛选才”|1024程序员节暨开源鸿蒙构建大会圆满落幕!

    10月24日,由开鸿智谷联合主办的长沙1024程序员节暨开源鸿蒙构建大会在长沙圆满落幕。本次活动以“湘聚长沙,共赴热AI”为主题,通过技术分享与实战竞赛相结合的方式,着力培养“开源鸿蒙+AI”领域
    的头像 发表于 10-27 17:58 964次阅读
    开鸿智谷“以赛促学、以赛选才”|1024<b class='flag-5'>程序员</b>节暨开源鸿蒙构建大会圆满落幕!

    运行kmodel模型验证一直报错怎么解决?

    我这运行kmodel模型验证一直报错,所以没法做kmodel模型好坏验证,不知道怎么解决这个问题,重新训练个kmodel模型会和拿相同pt训练的模型效果不样吗?在线云训练效果会好吗? 或者大佬能不能说是我给您发pt、onnx
    发表于 06-10 08:02

    使用51单片机和VL6180X传感器测距,结果一直是0是什么原因?

    求助,使用51单片机和VL6180X传感器测距,结果一直是0是什么原因,能读到ID为0xB4
    发表于 06-10 07:40

    使用51单片机和VL6180X传感器测距,结果一直是0是什么原因?

    求助,使用51单片机和VL6180X传感器测距,结果一直是0是什么原因,能读到ID为0xB4
    发表于 06-09 06:38