Linux top命令怎么看swap?swap占用高怎么解决

在 Linux 系统中,top 命令是监控系统资源使用情况最常用的工具之一,而 Swap(交换空间) 则是虚拟内存管理的重要组成部分,理解 top 中 Swap 相关的指标,对于排查内存瓶颈、性能问题至关重要。

以下是关于 top 命令中 Swap 部分的详细解读:

每天一个Linux命令-mkdir
加载中
每天一个Linux命令-mkdir

如何在 top 中查看 Swap 信息

默认情况下,top 命令会显示内存(Mem)和交换空间(Swap)的使用情况。

直接运行 top

top

在输出头部,你会看到类似这样的行:

MiB Mem :  16384.0 total,   2048.0 free,   8192.0 used,   6144.0 buff/cache
MiB Swap:   8192.0 total,   8192.0 free,      0.0 used.   7680.0 avail Mem

f 键自定义显示字段

如果某些 Swap 字段未显示,可以按 f 进入字段选择界面,确保以下字段被选中(用 标记):

  • SWAPSWAP TOTAL
  • SWAP FREE
  • SWAP USED

Swap 关键字段详解

top 的输出中,Swap 部分通常包含以下四个关键指标:

Linux top命令怎么看swap?swap占用高怎么解决

字段 含义 说明
total 总交换空间大小 系统配置的 Swap 分区或 Swap 文件总容量。
free 空闲交换空间 尚未使用的 Swap 空间。
used 已使用的交换空间 当前正在被使用的 Swap 空间大小。这是最关键的性能指标。
avail Mem 可用物理内存 可供新应用程序使用的物理内存(包含可回收的缓存)。

⚠️ 注意:top 中显示的 avail Mem物理内存的可用量,不是 Swap 的。


如何解读 Swap 使用情况?

✅ 正常情况

  • used 为 0 或接近 0:系统物理内存充足,无需使用 Swap。
  • used 少量存在:系统偶尔将不活跃的数据页换出到 Swap,属于正常行为,有助于释放物理内存供缓存使用。

⚠️ 需要关注

  • used 持续增长:可能意味着物理内存不足,或者应用程序存在内存泄漏。
  • used 较高但系统响应正常:可能是历史遗留数据,尚未被回收。

❌ 性能问题(Swap Thrashing / 交换颠簸)

  • used 很高 + 系统响应缓慢 + CPU 等待 I/O 高
    • 系统频繁地在物理内存和 Swap 之间交换数据。
    • 磁盘 I/O 成为瓶颈,导致系统卡顿。
    • 此时应检查是否有进程占用过多内存,或考虑增加物理内存。

Linux top命令怎么看swap?swap占用高怎么解决

常用相关命令与技巧

🔍 查看哪些进程在使用 Swap

top 本身不直接显示每个进程的 Swap 使用量,但你可以:

  1. top 中按 P(按内存排序),然后查看 %MEM 列。
  2. 使用 ps 命令精确查询
    # 按 Swap 使用量排序,显示前 10 个进程
    ps -eo pid,comm,swap --sort=-swap | head -n 11
  3. 使用 smem 工具(更直观):
    sudo apt install smem   # Debian/Ubuntu
    sudo yum install smem   # CentOS/RHEL
    smem -t -k -s swap      # 按 Swap 排序显示

📊 实时监控 Swap 变化

# 使用 watch 命令每秒刷新 top 的 Swap 信息
watch -n 1 'top -b -n 1 | grep -i swap'

🛠 调整 Swap 使用策略(swappiness)

Linux 内核有一个参数 vm.swappiness,控制系统倾向于使用 Swap 的程度(0~100):

  • 0:尽可能少用 Swap,只在物理内存极度不足时才使用。
  • 60:默认值,平衡使用。
  • 100:积极使用 Swap,类似 Windows 的行为。

查看当前值:

cat /proc/sys/vm/swappiness

临时修改(立即生效):

sudo sysctl vm.swappiness=10

永久修改(写入配置文件):

Linux top命令怎么看swap?swap占用高怎么解决

echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf sudo sysctl -p

💡 建议:对于数据库服务器(如 MySQL、PostgreSQL),通常建议将 swappiness 设置为较低值(如 10 或 0),以避免数据库页面被换出导致性能下降。


常见问题排查步骤

如果怀疑 Swap 导致性能问题,请按以下步骤排查:

  1. 确认 Swap 使用量
    free -h
  2. 查看是否有进程大量占用物理内存
    top -o %MEM
  3. 检查磁盘 I/O 是否瓶颈
    iostat -x 1

    关注 %util 是否接近 100%,以及 await 是否很高。

  4. 检查内核日志是否有 OOM Killer 记录
    dmesg | grep -i "out of memory"
    journalctl -k | grep -i "oom"

  • Swap 不是内存的替代品,而是物理内存不足时的“缓冲垫”。
  • top 中 Swap used 为 0 是理想状态,少量使用是正常的。
  • 高 Swap 使用 + 高 I/O 等待 = 性能瓶颈,需优化内存或增加物理内存。
  • 使用 pssmem 可以更精确地定位占用 Swap 的进程。

如有具体 top 输出截图或系统状态描述,我可以提供更针对性的分析。

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

(0)
SSL证书中间证书链怎么补全?如何配置中间证书
上一篇 2026年7月11日 20:12
GEO优化CPA模式可以吗2026最新?百度GEO优化怎么做
下一篇 2026年7月11日 20:15

相关推荐

  • 8u16g服务器负载多少算高呢,负载高怎么办?

    8u16g服务器负载多少算高,不能单看CPU使用率一个指标,而是要结合CPU、内存、磁盘I/O和网络带宽综合判断,在大多数业务场景下,CPU持续超过70%-80%、内存占用率长期高于85%或负载均衡值长期超过CPU核数的70%,都算高负载,这里说的8u16g,指的是8核CPU、16GB内存的服务器配置,常见于物……

    2026年8月17日
    800
  • 如何通过API获取进程信息?获取API接口文档

    通过API获取进程数据的核心在于调用操作系统提供的底层接口(如Windows的Toolhelp32或Linux的/proc文件系统),结合SDK封装成标准化JSON响应,以实现跨平台、自动化的进程监控与管理,在2026年的数字化运维环境中,单纯依靠人工点击任务管理器查看进程已成为历史,企业级应用需要的是实时、结……

    2026年6月17日
    3900
  • android查询网络状态怎么实现?Android网络状态检测方法详解

    在Android应用开发过程中,网络状态判断是保障用户体验的核心环节,精准、高效地查询网络状态直接决定了应用在弱网或无网环境下的健壮性,核心结论在于:开发者不应仅仅依赖isConnected()这一布尔值,而应构建一套包含网络类型、计费状态及实时连通性的多维检测机制,并优先使用ConnectivityManag……

    2026年3月25日
    11400
  • 云服务器选购有哪些坑?新手建站服务器配置怎么选

    新手选购云服务器,核心在于根据业务阶段匹配配置:静态展示站选1核2G入门款,动态博客或小型电商选2核4G均衡款,切忌盲目追求高配,按需分配才是省钱且稳定的最优解,建站初期,很多新手面对满屏的参数感到迷茫,云服务器并不是越贵越好,而是越合适越好,选错了配置,轻则网站加载缓慢影响用户体验,重则内存溢出导致网站频繁崩……

    2026年6月22日
    3000
  • 国内高性价比云服务器满减活动有哪些?高性价比云服务器推荐

    在当前的云计算市场中,企业上云与个人开发者建站的需求日益精细化,单纯追求低价已不再是明智之选,真正的核心在于以最优的成本获取最稳定的性能与售后服务,国内高性价比云服务器满减活动的本质,是头部云厂商在存量竞争时代让利于用户的市场策略,用户若能精准把握满减规则并结合自身业务场景,不仅能大幅降低IT基础设施投入,更能……

    2026年3月8日
    11200
  • 安装了wamp的主机能当服务器吗?wamp配置服务器详细教程

    安装了WAMP的主机完全可以充当服务器,但这取决于具体的应用场景、访问量规模以及对稳定性与安全性的要求,对于个人开发测试、小型企业内部办公系统或低并发的外网展示站点,安装了WAMP的主机不仅能够作为服务器使用,而且具有极高的性价比和部署便利性;但对于高并发、高可用性要求严苛的商业生产环境,单机WAMP方案则存在……

    2026年3月21日
    10900
  • 恒创科技香港CN2云服务器季付5折年付3折是真的吗,香港CN2云服务器哪家好

    恒创科技香港CN2云服务器凭借GIA骨干网低延迟优势,为追求稳定性的新用户提供了极具性价比的入门方案,其中1核1G配置年付低至317元起,适合个人博客、测试环境及轻量级应用部署,在云计算市场日益内卷的2026年,选择一款既稳定又便宜的服务器并非易事,许多新手站长和技术开发者在搭建第一个网站或测试项目时,往往被复……

    2026年6月27日
    2200
  • DigitalVirt 1GB内存VPS怎么样,值得买吗?

    DigitalVirt 1GB内存400Mbps端口洛杉矶三网9929线路的KVM VPS,在中美线路优化与性价比之间找到了一个精准平衡点,适合对网络延迟敏感但预算有限的用户,为什么选择三网9929线路VPS?深度拆解线路价值近年来,中美之间的国际带宽资源变得愈发紧张,普通163骨干网在晚高峰时段拥堵严重,丢包……

    2026年7月16日
    1600
  • 100g的服务器租一年到底要多少钱,怎么选最划算

    100G服务器租用一年,费用从几千元到十几万元不等,独享100G带宽的物理服务器年费普遍在数万元以上,具体价格受带宽类型、硬件配置和机房等级这三项核心因素直接影响,面对市场上多种报价,用户需要了解价格构成才能做出合理选择,本文将从价格影响因素、不同配置的价格区间、应用场景对比、与云服务器成本差异以及租用注意事项……

    2026年7月25日
    500
  • JustHost俄罗斯VPS好用吗?200Mbps大带宽不限流量

    JustHost俄罗斯VPS凭借200Mbps大带宽、不限流量及免费自助更换IP的优势,成为追求高性价比与网络稳定性的用户首选,月付低至8.5元即可起步,在服务器租赁市场日益内卷的当下,寻找一款既便宜又稳定的海外VPS并非易事,许多用户被高昂的带宽费用和复杂的IP更换流程劝退,JustHost提供的方案打破了这……

    2026年6月30日
    1600

发表回复

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