Linux服务器卡顿了如何排查?

今天分享一下Linux服务器卡顿了如何排查,这是运维新手的必修课,建议认真读完,建立整个排查思路非常重要。

生产环境验证过的 Linux 卡顿六步定位法:系统负载–》CPU–》内存–》磁盘IO–》磁盘空间–》网络

排查之前,自己心里必须现有一个模型。Linux 性能,本质上是由CPU,内存,磁盘IO,磁盘空间,网络五种资源决定,所有卡顿,必然来自其中一个,所以排查时就只需要一层层排查,很快就能找到问题。

Linux服务器卡顿了如何排查?

1 先看 Load

如果遇到系统卡顿,第一就应该想到系统负载

uptime
Linux服务器卡顿了如何排查?

输出有三个值,分别是过去1分钟,5分钟,15分钟平均负载情况。

负载Load 表示:

正在运行 + 等待 CPU + 等待 IO 的进程数

它反映的是:系统排队程度,但它不是CPU使用率,别搞错了。

如何判断异常?

假设服务器有 4 核CPU:

  • Load < 4 :表示正常
  • Load ≈ 4 :系统有点压力
  • Load >> 4 :系统拥堵

如果 Load 不高,系统整体资源没问题。你需要查的是应用层和网络的问题。

如果 Load 很高,说明资源出现瓶颈。接下来就需要判断是CPU还是IO有问题。

2 查看CPU情况

CPU一般用top命令查看,也可以用htop

top

需要关注4 个指标:

  • us  用户态
  • sy  内核态
  • id  空闲
  • wa  IO等待
Linux服务器卡顿了如何排查?

情况 1:CPU 打满

如果出现下面这些数字

us 95%
id 1%
wa 0%

这是算力不足。这种情况其实不多见。

记住不要去看%CPU这个值,这个值的百分比并不能实际体现CPU使用情况,需要看机器配置是多少的。

情况 2:CPU 很闲,但 Load 很高

us 15%
id 50%
wa 35%

注意:如果wa 很高。

这说明:进程在等磁盘。

这种情况,占生产环境卡顿的 60% 以上。

3 判断磁盘 IO

执行:

iostat -x 1

Linux服务器卡顿了如何排查?

重点看两个指标:

  • %util
  • await

判断逻辑

指标
含义
%util 接近 100%
磁盘被打满
await > 50ms
磁盘延迟异常

正常 SSD:1~5ms

如果 100ms 以上,系统一定卡。

接下来找是谁刷盘:判断哪个程序在占用IO

iotop
Linux服务器卡顿了如何排查?

有可能是下面这些情况:

  • 日志疯狂写入
  • 数据库 checkpoint
  • Docker overlay2
  • 程序死循环写文件

内存抖动

这种算是隐形杀手,偶尔也会遇到

vmstat 1

Linux服务器卡顿了如何排查?

重点关注:

  • si
  • so

如果持续 > 0。说明系统在交换内存。这叫内存抖动。

可能表现为CPU不高,但是机器卡,响应慢。

5 磁盘空间写满

还有可能是磁盘满了,导致一些业务异常或堵塞,服务器卡死之类的。

df -h
df -i

满了就及时处理就行了。

6 别忽略网络

还有可能是网络问题,一般表现SSH卡,web慢,ping正常但访问慢之类。

ss -s

如果连接数暴涨。

Linux服务器卡顿了如何排查?

或者:

netstat -s | grep retrans

出现大量重传,说明网络异常。

如果你掌握了上面几个命令和参数,基本可以判断那么的Linux卡在哪一步。

原创文章,作者:余初云,如若转载,请注明出处:https://blog.jidcy.com/jsjc/2616.html

Like (1)
Previous 2026年5月6日
Next 2026年5月7日

相关推荐

  • 什么是僵尸网络?

    僵尸网络,作为一类极具破坏性的网络攻击手段,是指攻击者借助多台联网设备,在每台设备上植入并运行特定的机器人程序,进而操控这些被感染的设备,对服务器、公司网站、其他设备或个人发起攻击…

    2026年4月28日
    0
  • sql注入攻击是什么意思?有何防护措施?

    SQL注入就是用恶意SQL语句攻击数据驱动的应用程序,通常目的是获取敏感数据。 什么是SQL注入? 结构化查询语言(Structured Query Language,SQL)注入…

    2026年4月27日
    0
  • 如何在Debian上安装NGINX

    Nginx是一款免费、开源、轻量级、高性能的web服务器,专为高流量的应用场景设计,也是Apache Web服务器和微软IIS之后的流行Web服务器。Nginx比Apache对资源…

    2026年5月11日
    0
  • SQL Server 性能调优如何做?

    SQL 服务器性能调优,本质上是寻找更高效的方式处理相同工作负载。本文将详细探讨 SQL 性能调优的定义、必要性,以及可落地的方法。 什么是 SQL Server 性能调优? SQ…

    2026年4月24日
    0
  • 什么是SSL证书?为什么要买SSL证书?

    我们在访问一个站点的时候,如果网页地址栏提示“不安全”,你还敢继续浏览吗? 互联网已经融入生活的方方面面,但随之而来的钓鱼网站、信息窃取等问题,总是让人头疼。我们在网上购物、使用网…

    2026年4月25日
    0
  • 什么是服务器备份?有哪些好处?

    服务器备份,简单来说,就是主动为服务器或联网计算机系统里的关键数据创建副本的过程。这些副本我们称之为“备份”,通常会和原始数据分开存储。这样一来,即便原始数据因为硬件故障、人为操作…

    2026年4月22日
    0
  • 如何使用远程桌面连接 Windows 服务器?

    远程桌面能够实现远程连接Windows 服务器的操作,管理员可以远程访问和管理服务器。 在这篇文章中,我们将介绍如何使用远程桌面连接到 Windows 服务器。此外,我们还将探讨用…

    2026年3月28日
    0
  • 异步api是什么?与REST API的区别

    当今用户对实时信息的需求日益强烈,股价、列车时刻等数据都需要在发生的第一时间送达。如何实时推送这些关键信息,是每家企业面临的共同挑战。传统做法是让应用定期轮询后端服务器来获取最新数…

    2026年4月11日
    0
  • 什么是 SSH?理解 SSH 及其加密技术

    远程连接服务器这件事,在没有加密的年代风险极高。用户名、密码、每一条执行的命令,全部明文跑在网络上,同一局域网里的人抓个包就能看清楚。Telnet 和 Rlogin 就是那时候的主…

    2026年4月14日
    0
  • 如何在服务器上安装 PHP(Linux / Windows / macOS)

    这篇文章会带你在 Linux、Windows 和 macOS 三个系统上完成 PHP 的安装,并介绍如何与 Apache 或 Nginx 配合使用、安装常用扩展,以及验证安装是否成…

    2026年4月20日
    0