Linux使用情况怎么看,服务器内存占用高怎么排查?

远程登录服务器,敲下命令却面对一堆看不懂的数字,这种体验确实头疼。判断linux服务器是否健康,最直接的办法是组合使用free -h、df -h、top这三条命令,分别确认内存、磁盘和CPU负载,一张图就能看清服务器当前的压力。

会看linux服务器使用情况,不只是为了满足好奇心,排查线上故障、评估是否需要升级配置、判断是否存在入侵挖矿行为,全都依赖这些基础数据,掌握这套方法之后,你也能像老运维一样,三分钟定位问题根源。

Linux系统内存持续飙高,如何排查?三步教你定位到问题
加载中
Linux系统内存持续飙高,如何排查?三步教你定位到问题
D
DevOps架构师阿良
4354--
原视频地址

linux服务器怎么看使用情况的基础命令

一条命令看整体负载:top

登录服务器之后,第一个建议敲的命令就是top,执行后屏幕上方会显示系统运行时间、登录用户数、平均负载,紧接着是CPU和内存的实时状态,整个过程是动态刷新的,相当于给服务器做了个实时体检。

重点看这几项数值:

  • load average,即过去1分钟、5分钟、15分钟的平均负载,数值越接近0越好,如果持续大于CPU核心数,就说明系统忙不过来了
  • %Cpu(s),us表示用户态占用,sy表示系统内核占用,wa表示I/O等待,wa数值偏高,基本可以判断磁盘读写拖了后腿
  • KiB Mem,总内存、已用、空闲、缓冲缓存,这里显示的不是全部真相,因为Linux会把空闲内存用作缓存,数据稍后在free命令里验证

按下q键退出top,或者按数字1查看多核CPU每一个核心的使用情况,很多服务器整体CPU不高,但单核已经被打满,这是排查程序性能问题时的高频陷阱。

内存使用情况:free -h

free -h命令输出的数字,比top底部要清晰得多。-h参数的作用是人性化显示,自动把单位换算成G或M,不用自己心算字节换算关系。

关注倒数第二行:

  • total,物理内存总量
  • used,真正被程序占用的内存
  • free,完全没被使用的内存
  • buff/cache,Linux用来做磁盘缓存的部分,这部分内存会在程序申请内存时自动释放,不必视为可用内存的敌人

判断内存是否吃紧,业内专家建议使用共识标准:如果used + buff/cache长期接近total,但available(available列是系统估算的可启动新程序的内存)仍有一定余量,则系统还算健康,相反,如果swap(交换分区)开始持续占用,就说明物理内存已经严重不够用了。

磁盘占用:df -h 和 du -sh

磁盘是服务器的仓库,仓库满了,再好的CPU和内存也跑不动,用df -h查看分区整体使用情况,看的是挂载点和空间剩余。

重点关注根分区:

  • Use%超过80%时,日志文件、临时文件、Docker镜像都会成为隐患
  • 100%满盘则会导致数据库写入失败、网站session无法生成等连锁故障

定位大文件用du -sh /查看根目录下各个目录的体积,再逐层进入,比如du -sh /var/log/看日志目录里谁最占空间,数据盘和系统盘分挂载时,两道命令都要执行,避免只盯根分区而忽略数据盘写满的问题。

快速汇总清单

这里整理了一份linux服务器使用情况速查表,适合保存下来当备忘录:

查询需求 执行命令 核心观察指标
整体性能 top load average、%Cpu(s)、KiB Mem
内存细节 free -h available、swap占用
磁盘空间 df -h Use%、Mounted on
目录体积 du -sh 目录路径 各目录占用的总大小
网络连接 ss -s 当前TCP连接数、套接字统计
系统运行时长 uptime 平均负载

linux查看cpu内存命令,这些细节容易被忽略

CPU使用率怎么看才准确

top里显示的CPU百分比是瞬时值,偶尔看一眼会误判。正确姿势是执行top -b -n 2,让top采集两次数据后输出,查看第二次采样结果,第一次采样时系统会加载top自身进程,容易产生毛刺数据,第二次的结果更接近真实状态。

有个细节是,单核服务器的CPU 100%,在top里可能显示为100%,但如果是4核机器,一个核心满载整体显示可能只有25%,所以排查CPU瓶颈时,按1键确认单核占比,比只看整体数值更有价值。

如果不想手动刷新,vmstat 1 5命令可以每秒打印一次系统状态,连续打印5次,vmstat输出的us列和sy列与top的对应数据含义一致,而且输出格式更适合脚本采集。

内存到底够不够用

内存领域最常被误解的概念是buff/cache,Linux系统为了提高文件读写性能,会尽量把空闲内存用作缓存,这部分内存显示在free -h中就是buff/cache一列,当程序需要更多内存时,系统会自动释放缓存部分。

判断内存不足的可靠信号,是free -h输出中swap一栏的used数值。 假如swap used持续大于0,表示内核正在把内存页换出到磁盘,这时程序运行速度会明显下降,数据库类应用尤其敏感。

排查内存命令时很容易忽略大页内存(HugePages)的问题,需要查看cat /proc/meminfo中的HugePages_Total和HugePages_Free字段,数据库服务器如果配置了HugePages而进程没有绑定使用,会出现内存明明空闲、程序却申请不到内存的诡异问题,这类场景相对少见,但遇到了常规命令很难定位。

磁盘IO是不是瓶颈

磁盘IO问题的隐蔽性远高于CPU和内存,CPU使用率不高、内存也充足,但服务就是响应慢,此时怀疑点就在磁盘读写上。

执行iostat -x -k 2,查看%util列是否长时间接近100%,以及await列(平均I/O等待时间)是否明显高于svctm(服务时间)。%util接近100%说明磁盘设备已经接近饱和,await远大于svctm说明请求排队时间过长,两者同时出现基本坐实磁盘瓶颈,如果服务器没有安装sysstat包,先用apt install sysstat或yum install sysstat安装工具集。

linux服务器负载过高怎么办

先用uptime看平均负载

执行uptime,终端会显示负载数字,判断标准很简单:load average的三组数值,反映的是1分钟、5分钟、15分钟的平均负载趋势。

  • 1分钟数值远高于15分钟数值,说明系统压力正在快速上升,需要立即处理
  • 1分钟数值低于15分钟数值,说明压力正在减退,可能是之前有过一次任务高峰
  • 三组数值都高,说明当前状况已经持续了一段时间,属于慢性超载

负载的数值需要结合CPU核心数解读,一台2核服务器负载到4已经属于超载,而16核服务器负载到8依然算轻载,判断前先数一下逻辑核心数,命令是nproc --all。

定位罪魁祸首

负载高的时候,top命令的用处发挥到极致,观察top输出进程中CPU占用率最高的那一个,通常是Java进程、PHP-FPM进程或者MySQL进程,然后根据进程特征做定向排查:

  • 单个进程CPU持续高:可能是程序死循环或者算法效率低下,需要检查代码层面的逻辑
  • 大量进程CPU均衡占用:常见于Web服务流量爆发,或者数据库密集查询,执行ps -ef | grep php-fpm统计进程数量,判断是否启动过量worker
  • 僵尸进程(Z由僵尸状态标识):数量多时说明父进程没有正确处理子进程退出,会占用进程表资源,需要重启父进程回收

找出可疑进程PID后,用top -p PID单独监控该进程的资源变化,或者用strace -p PID跟踪它所调用的系统接口,多数情况下,strace输出中反复出现同一个系统调用,就已经锁定了问题的核心位置。

典型处理方式

系统负载过高并非都是程序Bug带来的,不同原因应对完全不同:

  • 内存不足导致频繁swap:需要扩容内存,或者优化程序内存占用,必要时调整swappiness参数(sysctl vm.swappiness=10)让系统优先释放缓存
  • 磁盘IO饱和:优化SQL语句减少全表扫描、把机械硬盘换固态硬盘、或者给数据库增加缓存层
  • CPU密集型任务过长:检查是否有定时任务重叠执行,备份任务和高峰流量时间错峰
  • 流量突发导致连接数暴涨:检查Web服务器配置的worker进程上限,考虑接入负载均衡器扩展后端节点

这些操作都需要在root权限下执行,修改系统配置前记得备份原文件,比较推荐的做法是先定位再动刀,任何盲目重启进程的行为都可能让正在执行的数据操作直接中断。

长期监控:从人工巡检变成自动化

用htop和nmon改善交互体验

htop是top的加强版,顶部有CPU和内存的彩色进度条,支持鼠标操作,还能直接按F9键对进程发送信号,Ubuntu系统一行命令装好:apt install htop,CentOS则需要先安装EPEL源。

nmon的功能更像一个缩小版的性能监测平台,按c键看CPU,按m键看内存,按d键看磁盘,运行nmon -f还能把数据保存成文件,后续用nmon analyser工具生成图表。

sar命令看历史数据

服务器凌晨崩溃,你早上才能到公司排查,这时候需要复盘昨夜的状态,sar命令可以帮你翻阅历史数据,追溯系统负载的变化轨迹:

sar -u  # 查看CPU使用历史
sar -r  # 查看内存使用历史
sar -b  # 查看磁盘IO历史

sysstat包会通过cron定时采集系统数据,默认保留最近7天的记录,查看昨天全天的CPU统计,执行sar -u -f /var/log/sysstat/sa$(date +%d -d yesterday),最后的参数换成具体日期文件即可,这种回溯能力在企业服务器故障复盘时特别实用,不用依赖运维人员时刻盯在监控屏前。

把这些工具集成进crontab定时任务,执行频率按实际需求设定,生产环境建议维持每5分钟采集一次,数据量可控且足够细粒度,分析故障时能精确到具体时间点,配合企业微信或钉钉的webhook机器人,脚本检测到CPU连续多次超过阈值时自动发送告警,这已经属于初级运维系统的搭建思路了。

与linux服务器查看使用情况相关的频率最高问题

linux服务器卡顿,从哪里入手排查最快

先敲top看load average和CPU使用率,再敲free -h看内存是否耗尽,接着df -h确认磁盘有没有写满,三条命令走完,大体方向就能确定,如果都正常,排查网络层,用iftop看实时流量,或者确认是否在遭受CC攻击,大量半开连接会导致服务器响应缓慢。

free命令中buff/cache占用很高,内存是不是不够了

不是,buff/cache是Linux的磁盘缓存机制,目的是加速文件读写,当程序需要内存时,这部分会被自动回收,判断内存是否够用应当看available列,而不是free列,持续使用swap区才是内存不足的明确信号。

平均负载多少算正常

这是一个相对概念,基准是服务器的物理核心数,4核CPU的服务器,负载在4以下属于正常范围,达到8说明可能存在明显性能问题,达到12则基本处于过饱和状态,单看负载数字没有意义,需要结合核心数一起判断,行业共识认为长期超过核心数的70%就需要关注扩容或优化了。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/linux%e4%bd%bf%e7%94%a8%e6%83%85%e5%86%b5%e6%80%8e%e4%b9%88%e7%9c%8b%ef%bc%8c%e6%9c%8d%e5%8a%a1%e5%99%a8%e5%86%85%e5%ad%98%e5%8d%a0%e7%94%a8%e9%ab%98%e6%80%8e%e4%b9%88%e6%8e%92%e6%9f%a5%ef%bc%9f/

赞 (0)
上一篇 2026年10月23日 14:27
下一篇 2026年10月23日 14:27

相关推荐

  • 广州独立机柜租用申请流程复杂吗,需要什么材料?

    需求梳理、机房选型、提交申请、资质审核、签约付款、上架验收, 每个环节都有对应的操作规范和材料要求,下面按顺序拆解,帮你少走弯路,广州独立机柜租用申请流程有哪些环节?先锁定这四步首先把大框架立起来,无论你租用的是天河区的核心机房,还是黄埔区的边缘节点,申请流程都绕不开以下四个阶段,前期规划:确定机柜U数、电力容……

    程序编程 2026年10月9日
    200
  • 广州网站托管哪家好?广州企业网站托管服务靠谱吗

    2026年广州企业选择网站托管,本质是购买确定性——通过专业团队代运维,将服务器稳定、安全防御与搜索排名转化为可量化的商业线索,彻底告别自建团队的高耗低效与技术断层,2026广州网站托管的核心价值重构告别“裸奔”,重塑数字资产安全底座在数字化转型深水区,网站不再是名片,而是核心业务枢纽,自管网站常面临漏洞修复滞……

    2026年4月28日
    6100
  • QQ微信服务器是怎么部署的,需要多少台服务器?

    腾讯的QQ和微信服务器并非采用单一集中式部署,而是基于自建超大规模数据中心,构建了全球分布式多活架构,通过冗余部署和智能调度来支撑数亿用户同时在线,你发的消息并不是存在某一台电脑上,而是被拆解、复制、存储在全国乃至全球成千上万个机柜里,核心硬件:服务器集群与数据中心布局要理解微信服务器架构,首先得明白数据中心是……

    2026年10月14日
    100
  • ASP.NET有哪些优势?探索ASP.NET开发的核心竞争力

    ASP.NET,作为微软现代Web应用开发的核心框架,历经多年演进,已发展成为构建高性能、安全、可扩展企业级应用的首选平台之一,其核心特点深刻体现了对开发者效率、应用性能和现代化架构需求的全面支持, 跨平台与开放核心:打破界限ASP.NET Core(ASP.NET的最新演进版本)最显著的突破是实现了真正的跨平……

    2026年2月9日
    14800
  • 3c3u服务器怎么逃离出生点,我的世界服务器出生点怎么离开?

    3c3u服务器逃离出生点的核心答案:优先试 /rtp、/wild 或 /spawn 后找传送NPC;若没有权限,就沿保护边界挖1×2隧道或搭桥出去,再放床绑定重生点, 这套思路适合多数我的世界类3c3u服务器,关键是先判断限制类型,别硬闯,3c3u服务器怎么逃离出生点:先搞清出生点保护规则出生点困人,通常不是地……

    2026年10月15日
    100
  • 手机服务器IP端口怎么查?,手机IP端口查询方法是什么?

    想用手机查看服务器的IP和端口号,核心答案很简单:局域网内的服务器,直接在手机Wi-Fi设置里查网关地址,再用网络扫描App扫出设备IP和开放端口;外网云服务器,则登录云厂商控制台或借助远程管理工具查看, 但实际操作中,很多人卡在“不知道查哪个IP”“端口号看不见”这两个问题上,下面按场景拆开讲,每一步都能照着……

    程序编程 2026年10月24日
    000
  • 南京生物医药数据分析咋租GPU服务器,GPU服务器租用流程?

    南京生物医药数据分析租GPU服务器的启用方式,核心是:先选对云GPU或物理GPU租用平台,拿到SSH密钥和公网IP后,用预装CUDA镜像登录实例,挂载数据盘,再用Docker、Singularity或Conda跑生信分析流程, 对南京团队来说,关键不是“有没有GPU”,而是把租用、启用、数据流转和成本控制串成一……

    2026年9月21日
    100
  • AIoT运营中心建设项目包括哪些内容?AIoT运营中心建设方案详解

    AIoT运营中心建设项目的核心价值在于构建一个集数据汇聚、智能分析、业务协同于一体的中枢神经系统,实现从“万物互联”到“万物智联”的战略跨越,该项目不仅是技术基础设施的升级,更是企业数字化运营体系的重塑,旨在通过标准化流程与智能化手段,显著提升运营效率,降低运维成本,并为业务创新提供可量化的数据支撑,成功的建设……

    2026年3月14日
    15200
  • 3ds模拟器动森服务器怎么搭建,联机教程是什么?

    3ds模拟器动森服务器怎么弄?核心答案:用Citra或Lime3DS这类3DS模拟器,把虚拟MAC地址填成可用的十六进制格式,进游戏拿到手机后,在网络选项里填对第三方服务器的地址和端口,就能恢复动森联机功能,这个方案不依赖官方服务器,是目前2026年还能正常联机的主要路子,3ds模拟器动森联机教程:官方下线后……

    2026年10月20日
    100
  • 手机怎么进入2b2t网易服务器?需要什么版本?

    手机2b2t网易服务器怎么进?打开网易版《我的世界》手机客户端,在联机大厅搜索“2B2T”,认准官方合作服标识并点击加入排队即可,这是当前最直接的入口,如果你搜不到结果,那多半是当期服务器合作状态调整,文末会给出替代路线,手机2b2t网易服务器怎么进:先确认你找的是哪个“2b2t”很多玩家在手机上下载了网易版……

    2026年10月5日
    100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注