Linux服务器运行内存怎么看,查看内存占用命令是什么?

用 free -h 命令一眼看清内存总量和占用,重点看第二行的 available 值,它才是真正可用的内存。很多人一看到 used 数值高就以为内存不足,其实是被 Linux 的缓存机制吓唬住了,下面从命令实操到排查思路,把 Linux 服务器内存这件事彻底讲透。

Linux服务器内存使用情况三个核心指标

运行 free -h 是 Linux 查看内存使用情况最直接的命令,没有之一。 它把内存显示成两行,第一行是物理内存的全局概况,第二行是带缓存的真实账目,把这两个值读明白,你就解锁了 80% 的内存诊断能力。

26-Linux-lscpu、w、top、free、df查看负载、磁盘、内存命令详解
加载中
26-Linux-lscpu、w、top、free、df查看负载、磁盘、内存命令详解
旭
旭哥讲运维
979--
原视频地址

第一行:total、used、free、shared 怎么读

total 是内存总容量,等于机器物理内存减去系统保留部分。used 是正在被进程占用的内存,free 是完全空闲的内存,shared 是临时文件系统(如 /tmp)占用的内存,这个值通常很小,可以忽略。

业内专家指出,新手最容易犯的错误就是把第一行的 free 数字当成空余内存,如果服务器跑着 MySQL 或 Nginx,free 那一列显示 0 是常见现象,但系统依然流畅无比,核心原因就在第二行。

第二行:buff/cache 是内存吗

buff/cache 是 Linux 把空闲内存拿去当磁盘缓存了,读文件时,数据会先放进 cache,下次访问直接读内存,速度比摸硬盘快几个数量级。buff 则是块设备写入的缓冲区。这一块内存不是被白白吃掉了,它随时能被系统回收给需要的进程。

available 才是真正可用的内存

available 是第二行最重要的参数,官方定义是“无需交换即可启动新应用的内存估算值”,它包含了真实空闲内存加上可回收的缓存,判断内存够不够用,我一律看 available,如果这个值稳定在总内存的 20% 以上,说明服务器一点都不虚。

linux服务器内存占用过高怎么办?先找出内存大户

当 available 长期低于 10%,系统开始疯狂交换内存到磁盘,机器卡得像幻灯片,这时候不用猜,直接拿命令把吃内存的进程揪出来。

用 ps 命令捕获内存排行前三名

ps aux --sort=-%mem | head -5 是按内存占用排序输出进程的经典组合,第一行展示表头,紧接着的三行就是内存区的三大“毒瘤”,重点看 %MEM 列,这代表该进程占物理内存的百分比,Java 应用或数据库进程会长期霸榜。

top 与 htop 交互查看实时内存波动

top 命令进入后按 M 键可以按内存占用排序。htop 是升级版,彩色界面,能直观看到每个 CPU 核心的负载,还能直接用 F6 选择排序方式。分析内存趋势用 top -d 2,每两秒刷新一次,观察内存占用是平稳还是逐步走高。 如果内存占用像螺旋一样往上钻,那八成是代码里有内存泄漏。

用 pidstat 追踪进程历史内存峰值

pidstat -r 1 5 每秒打印一次进程的内存变化,能看出某个进程是不是在偷偷积累内存,搭配 pidstat -r -p PID 可以紧盯一个重点嫌疑进程,这个工具对付“跑着跑着内存就没了”的异常场景特别顺手。

缓存为什么占满了内存?这其实是个好信号

缓存占用高不代表有问题,恰恰说明服务器在努力加速。Linux 的存储管理理念是“不用白不用”,空闲内存放太久不如拿来当缓存,这就是为什么要用 available 而非 free 来判断内存状态。

什么时候才需要手动清理缓存

手动清理是下策,只有因为缓存导致问题的时候才值得动手,比如跑了内存压力测试,或者用缓存占位验证业务逻辑时。sync && echo 3 > /proc/sys/vm/drop_caches 是清缓存的标准写法,需要 root 权限。普通场景千万别在业务高峰期清缓存,数据全写到磁盘上,性能反而会断崖下跌。

正确看待缓存占比的参考值

很多云服务器厂商的监控面板里,used 数值标得很高,看着吓人,其实里面躺着一大片缓存,判断规则很简单:available 够用,就别理 used,比如说,一台 16G 内存的服务器,used 显示 14G,但 available 还有 6G,这完全是健康状态,无脑加内存反而是浪费。

怎么持续查看 Linux 服务器内存使用情况:从命令到脚本

一次性的内存快照只能反映当下瞬间,排查问题时需要连续观察,最简单的连续监控工具是 watch。

用 watch 命令循环刷新内存快照

watch -n 3 free -h 会每隔 3 秒自动刷新一次内存数据,把 free -h 的输出固定在屏幕上,你盯着看一分钟,就能摸清内存是稳定还是持续在掉。平时排查不通畅的服务器,我都会开两个窗口,一个跑 watch free,一个跑操作方法,这样内存变化和系统反应能对上号。

写一个轻量级内存监控脚本做日志记录

愿意折腾的话,可以用 shell 脚本把内存数据落盘带上时间戳。

#!/bin/bash
while true; do
  date >> /var/log/mem_usage.log
  free -m | grep Mem >> /var/log/mem_usage.log
  sleep 60
done

然后扔到后台跑,出了事故翻日志就能定位到几点几分内存被掏空,这个脚本日志是纯文本,格式化好之后可以直接丢给监控软件读。

借助云端监控面板观察历史曲线

如果服务器是在常见云厂商买的,控制台自带的监控图表就能显示内存曲线,通常有 1 小时、1 天、7 天粒度。历史曲线是判断内存瓶颈的利器,比如你是白天流量大内存高,还是早上定期任务触发时内存飙升,一看便知。

遇到linux服务器内存不足怎么排查?按照这个顺序来

内存不足的表现是网站变慢、服务被杀进程(MySQL 直接挂掉),遇到这种情况,千万别直接重启,按下面的顺序稳步排查。

第一步:确认交换分区是否在兜底

先用 free -h 看 swap 这行的 used 值。swap 的 used 数值明显上涨,说明物理内存扛不住了,系统开始拿磁盘内存当替换品,这时机器性能会大幅缩水。 查看 swap 使用情况是判断内存不足的“金标准”,swap 飙红往往意味着物理内存告急。

第二步:按进程定位占用并评估合理性

接着用 ps aux --sort=-%mem | head -10 找出排前面的进程,评估一下:是正常业务增长,还是某个进程的异常波动,Java 的堆内存设置得比物理内存还大,那出事是必然的,治理思路是调整应用的内存配置参数,而不是简单杀死进程。

第三步:检查是否存在内存泄漏和错配

如果某个进程的内存占用伴随时间缓慢爬升,重启后才降下去,那基本能确认有内存泄漏,这类问题通常要改代码,或者升级应用版本,还有一类常见坑是数据库的缓存参数设置不当,InnoDB buffer pool 配置占满了机器内存,需要根据业务量调整 my.cnf 里的相关参数。

那些 Linux 运维新手常踩的内存坑

聊到内存,有些坑是反复出现的,值得单列出来提醒一下,它们看起来不像内存问题,但本质上全是内存惹的祸。

  • OOM Killer 杀进程:日志里出现 Out of memory: Kill process,这是内核的自我保护机制,物理内存耗尽后就挑个进程杀掉,排查时不仅看 free -h,还要检查 /var/log/messages 里的内核日志。
  • 过度配置交换分区:swap 设太大,进程濒死还能硬撑着,反而掩盖了业务异常,对于多数云服务器,swap 设到 2G 就够了。
  • 用 uptime 看平均负载却忽略内存:负载高有时候不是 CPU 忙,而是内存紧张导致频繁换页,磁盘 I/O 跟着上去了,查负载异常时要连带内存一起验证。

Q&A:Linux 服务器内存查看的常见问题

Q1:为什么 free -h 显示内存还有很多,但应用就是反应很慢?

A1:慢的根源未必是内存容量,可能是 CPU 打满或者磁盘 I/O 瓶颈,内存充足时优先看 top 里的 %wa 值,如果这个数值偏高,说明磁盘读写卡住了,内存再多也无济于事。

Q2:linux 服务器查看内存使用情况命令很多,生产环境最实用的是哪几个?

A2:free -h 看整体库存,ps aux --sort=-%mem 看进程占用,pidstat -r 看历史趋势,vmstat 1 看内存和 CPU 联动,这四个命令组合覆盖 90% 的内存查看场景。

Q3:clean 缓存后 available 会变大吗?

A3:clean 缓存后 available 的短期变化不大,因为可回收的缓存原本就计入 available,清理缓存只会降低 used 数值,但不会额外增加可用内存的量,在可用内存紧张时,系统本来就会自动回收,手动干预收益甚微。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/787765.html

赞 (0)
上一篇 2026年11月8日 02:13
下一篇 2026年11月8日 02:14

相关推荐

  • 贵阳独立服务器存储扩展能力怎么看,哪些参数最关键

    选贵阳独立服务器时,存储扩展能力主要看硬盘位数量、阵列卡支持、盘位类型和系统层的扩容方案,这决定了你未来是加硬盘还是换整机,硬盘位和盘型是扩展的物理天花板独立服务器不像云主机点几下就扩容,它的一切扩展都建立在物理硬件上,你在贵阳租独立服务器,第一步就得搞清楚机器到底能塞几块盘,5寸盘位和2.5寸盘位的区别市面上……

    2026年8月12日
    800
  • AIoT智能深度解析是什么?AIoT技术发展前景如何

    AIoT的核心价值在于实现了“万物互联”向“万物智联”的质变,其本质是人工智能(AI)与物联网(IoT)的深度融合,通过边缘计算与云端协同,赋予设备自主感知、分析与决策的能力,从而为企业降本增效并提供精准的数据决策依据,技术架构的深度解构要理解AIoT的运行逻辑,必须剖析其底层架构,这并非简单的技术叠加,而是系……

    2026年3月20日
    11200
  • 华为v5服务器做raid的步骤是什么?,磁盘阵列怎么配置

    华为V5服务器做RAID,主流路径就三条:开机进BIOS的Device Manager(或开机按Ctrl+R)直接建阵列、通过iBMC带外配置、用Smart Provisioning引导式部署,2288H V5、1288H V5、2488 V5这几款机型操作逻辑基本一致,真正的分水岭是机器里插的是哪张RAID卡……

    程序编程 2026年10月22日
    200
  • asp中如何实现一个下拉框选中不同项时动态展示多个文本框对应数据库内容?

    在ASP中实现一个下拉框动态关联多个文本框并显示数据库内容的核心解决方案是:利用AJAX技术异步获取数据,结合服务器端VBScript处理数据库查询,通过DOM操作实时更新文本框值,以下是详细实现方案:技术架构设计graph TD A[用户选择下拉框] –> B[触发onchange事件] B –&g……

    2026年2月5日
    14400
  • PS4战地4如何修改服务器地址,战地4延迟高怎么解决

    PS4战地4换服务器地址的核心操作是:通过修改PS4的DNS设置或使用网络加速器切换节点,即可在游戏内匹配到对应区域的服务器,这篇文章会把PS4端换服的具体步骤、常见问题以及不同方案的优缺点讲清楚,照着操作就能解决你的问题,为什么你的PS4战地4总是匹配到高延迟房间很多玩家在港服或日服玩战地4时,明明网络带宽很……

    2026年9月16日
    100
  • 2b2t服务器登录不上怎么办,登录不上怎么解决

    2b2t服务器登录不上,最直接的解决办法是:先确认网络能连通服务器IP,再检查游戏版本和账号正版验证,最后耐心面对排队机制——多数“登录不上”其实是排队排不到你,作为一款十年不重启、无白名单的《我的世界》极限生存服务器,2b2t的门槛从来不在操作难度,而在于怎么顺利挤进去,很多玩家第一次接触就被卡在了登录环节……

    2026年8月17日
    300
  • i3网站服务器到底怎么样,建个人网站够用吗?

    i3网站服务器怎么样?直接说结论:对于中小网站、企业官网、个人博客和轻量级应用,i3服务器完全够用,性价比很高;但如果是高并发的电商站或大数据应用,它就不是优选了,i3网站服务器到底适合哪些场景很多人一听“i3”就觉得低端,其实这是误解,i3服务器指的是搭载Intel Core i3处理器的独立服务器,它和家用……

    2026年10月10日
    100
  • 戴尔720服务器u盘怎么装系统?,装系统步骤是什么

    戴尔r720服务器用U盘安装系统并不复杂,核心操作是制作一个可引导的U盘、设置服务器从U盘启动,并在安装Windows时提前加载RAID驱动,只要把这三步理顺,整个过程大概三四十分钟,很多运维朋友第一次接触R720时,都在U盘启动和RAID驱动上卡过壳,下面把每一步掰开揉碎,结合我自己在服务器机房的实际运维经验……

    2026年9月24日
    300
  • web和dns在同一个服务器上怎么转换?,如何设置

    将web和DNS从同一台服务器分离,核心是搭建独立DNS环境后修改域名NS记录指向新服务器,并调整web配置避免端口冲突,整个过程需规划TTL时间并监控解析生效,web和dns在同一服务器上的转换步骤为什么要进行转换很多站长在初期为了节省成本,会把web和dns放在同一台服务器上,这种方案在访问量低的时候问题不……

    2026年7月24日
    500
  • 如何查看手机服务器IP地址,手机IP地址查询方法有哪些

    手机里并没有一个叫“服务器IP地址”的设置项,你能查到的只有三种:手机当前的内网IP、运营商分配的公网出口IP,以及你正在访问的那台服务器的IP, 最快的办法是:安卓打开“设置—WLAN—已连接网络”,iPhone打开“设置—无线局域网—点击右侧ⓘ”,内网IP一眼就能看到;公网IP则用浏览器打开任意IP查询页面……

    程序编程 2026年10月29日
    300

发表回复

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