news 2026/7/29 22:11:55

<span class=“js_title_inner“>建议收藏 | 拒绝背锅!Linux服务器性能排查“急救”指南</span>

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
<span class=“js_title_inner“>建议收藏 | 拒绝背锅!Linux服务器性能排查“急救”指南</span>

凌晨3点,报警群响了。老板问:“服务器怎么挂了?” 开发说:“代码没动过。” 运维说:“资源看着还行啊。”

作为技术人,遇到性能问题最忌讳乱猜

🚑 01. 全景问诊:系统负载 (top)

先看一眼“生命体征”。输入top,重点看前五行。

💻 终端真实回显

top - 14:28:14 up 100 days, 3:30, 2 users, load average: 5.15, 4.05, 2.50 Tasks: 201 total, 2 running, 199 sleeping, 0 stopped, 0 zombie %Cpu(s): 15.2 us, 5.1 sy, 0.0 ni, 45.5 id, 33.9 wa, 0.0 hi, 0.3 si MiB Mem : 15886.0 total, 2510.5 free, 8213.2 used, 5162.3 buff/cache MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 7125.0 avail Mem

🧐 核心指标解读

  1. **Load Average (平均负载)**:

  • 看哪里:第一行5.15, 4.05, 2.50(分别代表1、5、15分钟)。

  • 诊断:假设这是一台4核服务器,现在负载是5.15,说明有进程在排队,系统超载了。

  • **%Cpu(s) (CPU状态)**:

    • **us (user)**:15.2% —— 用户进程消耗,不高。

    • wa (wait)33.9% —— 警报!这个值高,说明CPU大量时间在等待磁盘I/O

    • 结论:大概率不是CPU算不过来,而是磁盘太慢拖累了CPU。


    🧠 02. 深度分析:CPU排查 (vmstat)

    如果top看不出所以然,或者你想知道更深层的瓶颈,用vmstat

    💻 终端真实回显

    输入vmstat 1(每秒刷新一次):

    procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 6 0 0 251014 120560 516230 0 0 0 40 1205 3452 85 10 5 0 0 7 0 0 250980 120560 516230 0 0 0 0 1340 5102 90 9 1 0 0

    🧐 核心指标解读

    • **r (running)**:

      • 数值:6, 7。

      • 诊断:正在运行或等待CPU的进程数。如果你只有4核,但这里长期显示 >4,说明CPU算力严重不足

    • **b (blocked)**:

      • 数值:0。

      • 诊断:处于不可中断睡眠(通常在等IO)的进程。如果这里有值,通常伴随着磁盘卡顿。

    • **us (user)**:

      • 数值:85%, 90%。

      • 诊断:用户态占用极高,这次确实是应用程序(如Java、Python)在疯狂计算。


    💾 03. 拒绝误判:内存排查 (free)

    新手最容易被“内存使用率”吓到。

    💻 终端真实回显

    输入free -h

    total used free shared buff/cache available Mem: 15Gi 4.2Gi 2.5Gi 1.0Gi 8.8Gi 10Gi Swap: 2.0Gi 0B 2.0Gi

    🧐 核心指标解读

    • **used (已用)**:4.2Gi。

    • **buff/cache (缓存)**:8.8Gi ——注意!这是Linux为了加速把文件读到了内存里,不是内存泄漏。

    • available (可用)10Gi——只看这个!

      • 诊断:只要available还很大,说明内存非常健康。千万不要看到used加上buff/cache快满了就去重启服务。


    💿 04. 抓包现行:磁盘I/O (iostat)

    刚才在top里看到wa很高?来实锤一下。

    💻 终端真实回显

    输入iostat -xz 1

    Device r/s w/s rkB/s wkB/s rrqm/s wrqm/s %rrqm %wrqm %util await svctm vda 0.00 450.00 0.00 12500.00 0.00 0.00 0.00 0.00 99.5 12.5 2.10 scd0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

    🧐 核心指标解读

    • %util99.5

      • 诊断:磁盘已经满负荷运转了(接近100%)。此时任何新的读写请求都会排队,导致系统卡顿。

    • await12.5(毫秒)。

      • 诊断:这是IO请求的平均等待时间。如果是SSD,这个值应该在1-2ms以内;如果是机械盘,超过10ms也说明很慢了。

    谁在写磁盘?此时可以使用iotop -o命令,它能像top一样列出是哪个进程(PID)在疯狂读写。


    📡 05. 现代网络:端口与连接 (ss)

    查看端口占用,别再用慢吞吞的netstat了,现代 Linux 推荐用ss

    💻 终端真实回显

    输入ss -lntp(查看监听端口):

    State Recv-Q Send-Q Local Address:Port Peer Address:Port Process LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=1234,fd=3)) LISTEN 0 100 *:8080 *:* users:(("java",pid=2561,fd=10)) LISTEN 0 50 *:3306 *:* users:(("mysqld",pid=1890,fd=15))

    🧐 核心指标解读

    • Recv-Q / Send-Q

      • 诊断:在LISTEN状态下,如果Recv-Q(当前全连接队列长度)超过了Send-Q(最大队列长度),说明连接队列满了,新的请求会被拒绝。这通常是并发太高,服务处理不过来了。

    • Process

      • 可以直接看到是java还是mysqld在占端口,以及它们的 PID。


    📝 总结:急救小抄

    遇到问题不要慌,按这个顺序把脉:

    1. top👉 负载高吗?是 CPU 忙(us高)还是磁盘忙(wa高)?

    2. vmstat 1👉 运行队列r是否堵塞?

    3. free -h👉 别管used,只看available够不够。

    4. iostat -xz 1👉%util是不是飙到了 100%?

    💡 避坑指南

    • 不要随意执行echo 3 > /proc/sys/vm/drop_caches清理缓存,这会导致系统为了重建缓存而引发IO风暴,让卡顿雪上加霜。


    本文内容经过实战验证,建议转发收藏,以备不时之需!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/24 16:12:00

<span class=“js_title_inner“>从故障中学习:常见运维故障的排查思路与解决方案汇总</span>

从Linux故障中学习:常见运维故障的排查思路与解决方案汇总凌晨三点,手机急促响起,监控告警显示线上服务异常。作为运维工程师,这样的场景你一定不陌生。本文将分享我在处理数千次生产故障中总结的排查思路和解决方案,帮…

作者头像 李华
网站建设 2026/7/27 1:40:58

揭秘SQL优化核心:索引策略实战指南

揭秘SQL优化核心:索引策略实战指南 当你在数据库执行一条简单查询却耗时数秒,当百万级数据表查询如蜗牛爬行,你是否想过——索引,这个数据库性能的“加速器”,为何有时反而拖慢系统?本文将深入拆解索引策略的底层逻辑,结合实战案例揭示索引优化密码,助你写出高效SQL! …

作者头像 李华
网站建设 2026/7/24 16:06:07

<span class=“js_title_inner“>新书福利 | 《揭秘网络勒索攻击:从基础知识到应对策略全解析》(5本)</span>

关注我们丨文末赠书 Part.1 “黑暗天使”的警示 2024年初,全球财富50强的某大型企业遭“Dark Angels”(黑暗天使)勒索软件团伙攻击。该团伙以数据窃取和加密锁定为双重勒索手段,先入侵企业内部网络,窃取超100TB的敏感数…

作者头像 李华
网站建设 2026/7/28 12:24:26

SSM计算机毕设之基于ssm的高考志愿智能推荐系统设计与实现“e博士”高考志愿辅助填报系统的设计与开发(完整前后端代码+说明文档+LW,调试定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/7/23 2:18:38

C语言变量及其操作符的介绍

当然可以~下面我用通俗 系统的方式,给你介绍一下 C 语言中的变量及其操作符,很适合入门或复习 👍 一、什么是变量(Variable) 变量就是程序中用来存储数据的容器,它有: 类型&#…

作者头像 李华
网站建设 2026/7/26 5:52:23

现代互联网安全的基石: SSL/TLS技术介绍

这个标题本身就很“架构级”,也是安全 / 后端 / 面试必考内容。 我会按 为什么需要 → TLS 在解决什么 → 工作流程 → 核心技术 → 常见误区 → 面试总结,带你系统搞懂 SSL/TLS。 现代互联网安全的基石:SSL/TLS 技术介绍 一、为什么需要 SSL…

作者头像 李华