源码技术
php
java
python
Linux
当前位置:
首页
>
Linux
>【运维学习】Linux系统卡了怎么办?
【运维学习】Linux系统卡了怎么办?
2026-10-10 11:23:27
【运维学习】Linux系统卡了怎么办?
运维时遇到Linux系统卡顿,鼠标拖不动、命令输完半天没反应,甚至服务直接卡死,真的会原地崩溃——到底是CPU炸了?内存满了?还是磁盘拖后腿了?
第一步:先看整体负载——uptime(1秒判断是否真“卡”)
很多时候我们觉得系统卡,可能只是暂时的负载高峰,也可能是长期过载。先用电竞级“扫一眼”命令,快速掌握系统整体状态:
命令:uptime
输入后会出现类似这样的输出:
14:30:00 up 2 days, 3:45, 2 users, load average: 5.25, 4.80, 4.50
重点看最后三个数字——load average: 1分钟、5分钟、15分钟的系统负载,核心判断标准很简单:
如果你的CPU是N核,那么负载数值 ≤ N,说明系统基本正常;如果持续大于N(比如4核CPU,负载长期5以上),就说明系统真的过载了,需要进一步排查。
举个例子:4核服务器,1分钟负载5.25,说明CPU已经扛不住了,卡顿大概率和CPU有关;如果负载正常,但系统还是卡,就往内存、磁盘方向找问题。
第二步:排查CPU——top
如果uptime显示负载过高,优先查CPU——毕竟CPU是系统的“大脑”,一旦被占满,所有操作都会变慢。
这里有两个常用命令,按需选择:
基础款:top(系统自带,无需额外安装)
输入top后,会进入实时监控界面,重点看这2点:
1. 第一行的%Cpu(s):us(用户进程占用CPU百分比)、sy(系统进程占用CPU百分比),如果其中一项或两项加起来接近100%,说明CPU被占满了;
2. 下面进程列表中,按“P”键(大写),会按CPU占用率从高到低排序,排在最前面的进程,就是“吃CPU”的元凶(比如异常的java、nginx进程)。
小技巧:如果是临时卡顿,终止异常进程即可;如果是长期CPU占用高,需要排查进程是否异常(比如内存泄漏、死循环)。
第三步:排查内存/swap——free -h(避免“内存不够用”拖垮系统)
有时候CPU负载正常,但系统还是卡,大概率是内存不够用了——系统会把部分硬盘空间当作“虚拟内存”(swap)使用,而硬盘的读写速度比内存慢100倍以上,一旦用到swap,系统就会明显卡顿。
命令:free -h
“-h”是“human-readable”的缩写,意思是用我们能看懂的单位(GB、MB)显示,避免看一堆数字头疼,输出类似这样:
total used free shared buff/cache available
Mem: 15Gi 12Gi 512Mi 128Mi 2.5Gi 2.2Gi
Swap: 10Gi 8.5Gi 1.5Gi
重点看这2个关键指标:
1. Mem中的available(可用内存):如果可用内存长期低于1GB(具体看服务器内存大小),说明内存不足;
2. Swap中的used(已用虚拟内存):如果已用swap超过50%,说明系统已经在“硬撑”,卡顿基本是因为内存不够,需要清理无用进程,或者升级内存。
第四步:排查磁盘IO——iostat、iotop(磁盘“偷懒”也会导致卡顿)
还有一种情况:CPU、内存都正常,但系统还是卡,尤其是打开文件、复制文件时特别慢,这时候要排查「磁盘IO」——也就是磁盘的读写速度跟不上系统需求。
这里分两个命令,一个看整体,一个看细节:
1. 整体磁盘IO:iostat
先安装(yum install sysstat / apt install sysstat),输入命令:iostat -x 1 (-x显示详细信息,1表示每1秒刷新一次)
重点看%util(磁盘使用率):如果%util长期接近100%,说明磁盘一直在满负荷工作,读写速度跟不上,卡顿就是磁盘导致的(比如日志写入太频繁、磁盘老化)。
2. 具体进程IO:iotop
同样需要安装(yum install iotop / apt install iotop),输入iotop后,按“O”键(大写),会按IO占用率从高到低排序,能直接找到“吃磁盘IO”的进程(比如频繁写入日志的应用、大量复制文件的进程)。
解决办法:临时终止高IO进程;长期优化则需要清理日志、迁移大文件,或者更换更快的磁盘(比如机械硬盘换固态硬盘)。
第五步:排查磁盘空间——df -h
最后一步,也是最容易被忽略的一步:磁盘空间满了!
如果磁盘被占满,系统无法写入任何文件(包括日志、临时文件),不仅会卡顿,还可能导致服务崩溃、无法登录,一定要重点检查。
命令:df -h
输入后会显示所有磁盘分区的使用情况,重点看%Use(磁盘使用率):
如果某个分区的使用率达到90%以上,就需要及时清理;如果达到100%,必须立即清理(优先删日志、临时文件、无用备份)。
遇到Linux系统卡顿,不用慌,按下面的步骤来,快速定位问题,高效解决:
用 uptime 看整体负载,判断是否真过载;
用 top/htop 查CPU,找到“吃资源”进程;
用 free -h 查内存/swap,看是否内存不足;
用 iostat、iotop 查磁盘IO,排查磁盘读写问题;
用 df -h 查磁盘空间,避免磁盘满导致卡顿。
如果觉得有用,记得点赞、在看,分享给身边的运维小伙伴~
本文来自网友投稿或网络内容,如有侵犯您的权益请联系我们删除,联系邮箱:596563534@qq.com 。
【干货】ABAQUS没有可靠度模块?Python二次开发实现自动化批量仿真与可靠度计算
阅读笔记1-Python高效办公(3)
最新文章
【干货】ABAQUS没有可靠度模块?Python二次开发实现自动化批量仿真与可靠度计算
linux系统内如何查找nvidia显卡对应的主板槽位
dmPython 在 Windows 报错无法安装?从编译到打包的完整解决方案
紧急!Linux磁盘满到100%,太卡了
【系列】每天一个 Linux 命令(28)netstat 命令
【Milk-V Duo 开发板】搭建LINUX系统及通过命令控制蓝色LED亮灭
SparkyLinux 8.2 发布
数据不丢的底线:Linux运维如何搭建可靠的3-2-1备份体系?
从零开始学python-内置类的专有方法
超经典!10道Python必做练习题
热门文章
Python35个必学函数,吃透直接封神
【免费获取Linux】深度操作系统(deepin20.5)
16天零基础通关Python统计学!保姆级手把手教程,小白也能变身数据分析高手
用 Python 和 Streamlit 求解马科维茨有效前沿
Python读取CSV文件全指南:从入门到实战避坑
Python_字符串
'ormar' Python 库中发现严重 SQL 注入漏洞
Python基础知识(二):Python新手救星!7种常见数据类型,用大白话讲得明明白白
Linux 性能优化的全景指南
磁盘还剩 40G 服务全崩了?这个 Linux 隐藏杀手,90% 的人没听过
随机文章
10个月宝宝每天需要喝多少奶粉?
Linux挂载Windows公共盘
linux安全加固:服务器被打之前和之后,我分别做了什么
Linux三剑客之awk(下):吃透这篇,日志分析一行封神
掌握这些命令,可以更高效地在 Linux 终端处理文件内容.
为什么 Unix 和 Linux 是操作系统的灵魂?
跟 AI 学 Linux:SO_REUSEADDR 和 SO_REUSEPORT 对 Linux TCP bind 的影响
【案例教程】最新AI赋能Python长时序植被遥感动态分析、物候提取、时空变异归因及RSEI生态评估实战
Hyperview Python二次开发-自动创建page和windows
python中有關分數操作的一些事
【时间序列机器学习】Python14时间序列分布滞后非线性模型(DLNM)拟合及可视化