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://idctop.com/linux-top%e5%91%bd%e4%bb%a4%e6%80%8e%e4%b9%88%e7%9c%8bswap%ef%bc%9fswap%e5%8d%a0%e7%94%a8%e9%ab%98%e6%80%8e%e4%b9%88%e8%a7%a3%e5%86%b3/

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

相关推荐

  • 20台服务器UPS需要多少电池,如何计算容量?

    20台服务器配置UPS电池,按单台服务器功率500W、停电后备2小时计算,大约需要120节12V 100Ah电池;如果只需支撑到优雅关机(约15分钟),50节左右即可,这不是拍脑袋估出来的数字,下面从负载计算、电池容量换算、品牌选型三个维度拆解全过程,并给出可以直接套用的实操方案,先算负载:20台服务器到底吃掉……

    2026年9月25日
    100
  • 服务器主频一般到多少?如何选择最佳配置?

    服务器主频在2026年的主流区间为2.0GHz至3.5GHz,但选型时必须结合核心数、缓存架构与具体业务负载来判断,单纯追求高频已不再是唯一标准,以当前x86市场为例,Intel至强系列主流型号的基础频率集中在2.1GHz至2.6GHz,AMD EPYC系列则普遍落在2.0GHz至2.7GHz之间,而这个数据背……

    相关资讯 2026年10月21日
    000
  • 私人用的服务器多少钱一台,性价比高不高?

    私人用的服务器,入门级云服务器一年几百元就能搞定,物理服务器则要几千元起步,具体取决于你的用途、配置和部署方式,这个答案听起来很笼统,但确实没有一口价,私人服务器不是买一台电脑放家里那么简单,它牵扯到硬件成本、网络环境、电力消耗、公网IP、备案规则等一系列问题,我结合这些年帮个人用户规划服务器的经验,把费用这件……

    相关资讯 2026年10月22日
    100
  • 服务器存储10t需要多少钱,租赁服务器贵吗?

    服务器存储10T一年的总成本通常在1万到3万元区间,具体取决于你选择物理服务器自建还是云存储,以及带宽、冗余架构和服务商资质,容量焦虑的真相:你真的需要10T吗先聊个实在问题,10T存储空间听起来很庞大,但换算一下就清晰了:如果用4T硬盘,至少需要3块组RAID5,实际可用约8T;如果上5块4T硬盘做RAID6……

    2026年8月29日
    900
  • 商用服务器一般多少钱一台,最新价格明细?

    商用服务器一般多少钱?没有一口价,按月租,普通物理服务器大致几百到几千元,高配高防和GPU机型可到上万元;按购买整机,入门机型几千到两三万,中端三到八万,高端十万以上, 2026年的百度搜索更在意答案能不能落地,下面把价格拆开,给你可验证的估算方法,价格地图:商用服务器一般多少钱按月租:从轻量业务到高防高配入门……

    2026年9月28日
    000
  • 一台Tesla服务器需要多少钱,价格贵不贵?

    一台Tesla服务器(NVIDIA DGX系列同源架构)的市场价格通常在20万元至300万元人民币之间,具体取决于GPU型号、显存容量、整机配置以及采购渠道,而租赁模式则可将单卡算力成本降至每小时十几元,价格差异的核心:GPU型号与配置Tesla服务器并非指某个单一产品,而是搭载NVIDIA Tesla系列计算……

    2026年10月3日
    100
  • 一小时服务器消耗多少流量,如何查看详细统计?

    1Mbps带宽,每秒传输0.125MB数据(1Mbps ÷ 8 = 0.125MB/s),一小时就是0.125MB × 3600秒 = 450MB,按这个公式,列出常见带宽一小时的理论流量上限:带宽每秒速率(约)一小时理论流量(约)1Mbps125MB450MB5Mbps625MB25GB10Mbps25MB5……

    2026年9月24日
    000
  • 7u服务器多少钱一台,什么配置最划算?

    7U服务器的价格因配置差异较大,主流配置范围通常从几千元到数万元不等,具体取决于CPU型号、内存容量、硬盘类型及扩展接口数量,影响7U服务器价格的核心因素7U服务器相比标准1U或2U机型,机箱高度更大,主要面向需要高扩展性、多GPU卡或大量热插拔硬盘的场景,价格拆解需要从底层硬件入手,CPU型号与核心数CPU是……

    2026年8月23日
    300
  • dchp服务器可以设置多少个ip段,如何分配地址?

    DHCP服务器可以设置的IP段数量在理论上没有固定上限,取决于软件实现和硬件资源,常见的DHCP服务器软件支持数百个甚至数千个IP段,足以满足绝大多数企业网络需求,理解DHCP服务器中的IP段概念什么是IP段与作用域在DHCP体系里,IP段通常指一个作用域(Scope)或者地址池,它定义了一段连续的IP地址范围……

    2026年8月26日
    700
  • 租服务器一般要多少钱,哪家云服务器便宜?

    租服务器的价格跨度很大,从每月几十元的入门级云服务器到数万元的高防物理机都有,但绝大多数中小企业和个人站长实际采购的云服务器年付成本在1000元至10000元区间,物理服务器月租则集中在500元至2000元,价格差异主要由配置、带宽、线路、部署方式(物理机或云主机)以及服务商的资质决定,搞懂租服务器的成本构成……

    2026年9月22日
    100

发表回复

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