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 进入字段选择界面,确保以下字段被选中(用 标记):

  • SWAP 或 SWAP 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 等待 = 性能瓶颈,需优化内存或增加物理内存。
  • 使用 ps 或 smem 可以更精确地定位占用 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

相关推荐

  • 腾讯云新上德印服务器月付24元起,腾讯云德国孟买轻量服务器配置价格

    腾讯云近期上线德国(法兰克福)和印度(孟买)轻量应用服务器,月付低至24元起,是出海业务低成本部署的首选方案,对于正在寻找海外节点进行业务拓展的开发者而言,腾讯云此次推出的轻量应用服务器不仅填补了欧洲南部和南亚地区的空白,更以极具竞争力的价格门槛降低了试错成本,这种“轻量”与“低价”的组合,并非简单的促销手段……

    2026年7月4日
    3400
  • 中国互联网企业出海形势如何?UCloud出海战略解析

    2026年中国互联网企业出海已从“流量红利期”转入“合规与本地化深耕期”,UCloud认为构建高可用、低延迟且符合当地数据隐私法规的基础设施,是跨越国界增长的核心壁垒,过去几年,我们目睹了无数应用从国内卷到海外,又迅速在异国他乡扎根或折戟,现在的市场逻辑变了,单纯靠烧钱买量已经行不通,企业需要的是稳如磐石的底层……

    2026年6月18日
    9900
  • app与微网站的区别是什么意思?app和微网站哪个更好?

    App与微网站的区别本质在于“独立生态与依附生态”的差异,核心区别体现在开发成本、用户体验、功能深度及推广运营四个维度,对于企业数字化转型而言,若追求极致体验与用户粘性,App是首选;若侧重低成本获客与快速传播,微网站则更具优势,理解这一核心差异,有助于企业在进行数字化布局时做出精准决策,这也是进行{app与微……

    2026年4月4日
    7300
  • 24块8t硬盘服务器主机价格多少?,配置如何

    24块8TB硬盘的服务器主机,基础配置起步价通常在6万到15万元人民币之间,具体取决于CPU、内存、RAID卡、网络接口等扩展选项, 这个价格区间覆盖了从入门级冷存储到高性能备份服务器的大部分需求,如果你正在规划一个192TB的存储节点,这笔预算需要精打细算,因为不同配置直接决定性能和可靠性,影响价格的核心配置……

    2026年8月7日
    400
  • flash asp网站和ASP报告有什么区别?,怎么做

    对于仍在使用Flash ASP技术的网站,2026年最紧迫的任务是立即迁移,同时通过ASP报告监控系统状态,确保数据安全不被漏洞利用,Flash ASP网站现状与风险Flash技术架构的遗留问题Flash自2020年底被Adobe终止支持后,所有基于Flash的运行环境均失效,但仍有部分企业网站依赖Flash动……

    2026年8月3日
    400
  • 国外oss云存储多少钱,国外云存储收费标准是什么

    国外云对象存储的价格并非固定不变,而是遵循“按用量付费”的弹性计费模式,总体来看,主流国际云服务商的存储费用通常在每GB每月0.005美元至0.025美元之间,但流量费用和请求费用往往是总成本的决定性因素,对于用户关心的国外oss云存储多少钱这一问题,答案取决于具体的业务场景、数据量级以及对数据访问频率的需求……

    2026年3月1日
    13600
  • 源数据库server_id是否符合增量迁移要求?mysql5.5安装教程

    安装MySQL 5.5时,源数据库的server_id参数必须配置为全局唯一且非零的正整数,这是开启二进制日志并满足增量迁移要求的核心前置条件,在数据库迁移的实战场景中,增量迁移往往比全量迁移更考验细节,很多运维人员在搭建环境时,容易忽略MySQL 5.5这个经典版本在参数配置上的特殊性,如果你正在处理从旧系统……

    2026年6月7日
    3600
  • Linux文本排序怎么操作,sort命令如何按数字排序?

    Linux文本排序的核心在于利用sort命令通过指定字段、分隔符及排序规则(字母、数字、逆序等)实现海量数据的有序化处理,linux sort命令怎么用及基础语法解析在Linux系统运维与数据处理场景中,sort命令是处理文本流最基础且功能最强大的工具之一,它不仅能够对单行文本进行字典序排列,更可以通过参数组合……

    2026年7月13日
    10700
  • 服务器8G内存条价格多少钱,怎么买最划算?

    服务器8G内存条的价格主要由内存类型(DDR3/DDR4/DDR5)、规格(ECC/REG/UDIMM)以及新旧程度决定,选购前务必先确认服务器支持的内存标准,再根据预算和需求选择对应产品,影响服务器8G内存条价格的关键因素内存类型与代际差异服务器内存条的发展经历了DDR3、DDR4到DDR5的迭代,不同代际的……

    2026年8月7日
    900
  • asp学校网站源码怎么选,asp学校网站源码免费下载推荐

    ASP学校网站源码作为教育信息化建设的底层驱动力,其核心价值在于通过成熟的脚本技术实现学校管理流程的标准化与自动化,在当前数字化转型背景下,选择一套架构清晰、安全稳定的ASP源码,能够以最低的时间成本搭建起功能完备的校园门户,并显著降低后续运维的技术门槛, 这类系统通常集成了新闻发布、教务管理、师生互动等核心模……

    2026年3月16日
    9900

发表回复

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