Linux 中怎么测试 Swap 空间读写性能

夜磊君_2886

夜磊君_2886

2026-08-11

792人浏览

原创

linux无法直接测swap读写速度,因其由内核自动管理且不暴露为普通i/o接口;需通过stress施加内存压力,结合free、/proc/vmstat、vmstat、pidstat和iostat等工具观察换页行为与磁盘i/o指标间接评估。

linux 中怎么测试 swap 空间读写性能

Linux 中不能直接用标准工具“测 Swap 读写速度”,因为 Swap 是内核自动管理的虚拟内存机制,不暴露为普通块设备或文件接口供用户发起可控 I/O。所谓“Swap 性能”实际反映在系统整体响应和页面交换行为上,需通过压力触发 + 观察指标间接评估。

用 stress 模拟内存压力,观察 Swap 活动

这是最常用、最贴近真实场景的测试方式:人为制造内存压力,看系统是否开始换页、换出速率如何、响应是否延迟。

  • 运行 stress -m 2 -l 1024:启动 2 个进程,每个持续分配并释放 1GB 内存,快速消耗可用 RAM
  • 同时开终端执行 watch -n 1 'free -h; echo; grep -i "swapped" /proc/meminfo':每秒刷新内存与 Swap 使用情况
  • 关注 SwapUsed 是否上升、pgpgin/pgpgout(/proc/vmstat 中)数值是否明显增长——后者代表每秒换入/换出的 KB 数,是 Swap I/O 的核心指标

检查 Swap 所在设备的底层 I/O 能力

Swap 性能瓶颈通常不在内核逻辑,而在磁盘本身。Swap 分区或文件最终落在某块物理/逻辑设备上,它的吞吐和延迟决定了 Swap 效果。

onewo-rtlinux
onewo-rtlinux

Linux 实时编程助手。生成、审查并修改用于周期性控制任务和中断驱动程序的 C 代码。强制实施实时调度策略。

下载
  • 先查 Swap 位置:swapon --show 或 cat /proc/swaps,确认它在哪个设备(如 /dev/sda2)或文件(如 /swapfile)
  • 若为分区,用 fio 测试该设备随机写性能(Swap 主要是小页随机写):
    fio --name=swap-test --ioengine=libaio --rw=randwrite --bs=4k --size=1G --runtime=60 --time_based --filename=/dev/sda2
  • 若为 Swap 文件,确保它未启用时再测对应文件所在分区(启用状态下 fio 可能干扰 Swap)

监控换页延迟与系统影响

高 Swap 使用不一定慢,但高延迟换页会拖垮交互体验。重点看是否出现“抖动”或响应卡顿。

  • 运行 vmstat 1,观察 si(swap in KB/s)和 so(swap out KB/s)列:持续高于几十 MB/s 且伴随 bi/bo(块 I/O)同步飙升,说明磁盘已成瓶颈
  • 用 pidstat -r 1 查看各进程的 %mem 和 minflt/majflt:大幅增加的 majflt(主缺页)意味着频繁从 Swap 加载页面,是性能下降的明确信号
  • 配合 iostat -x 1 看对应设备的 %util 和 await:若 await > 20ms 且 %util ≈ 100%,说明磁盘忙不过来,Swap 正拖慢系统

避免无效或误导性测试

有些方法看似在“测 Swap”,实则无效或反向干扰:

  • 不要用 dd 往 Swap 分区或文件里直接写数据——Swap 设备/文件被内核独占,dd 会失败或破坏结构
  • 不要只看 free 输出的 Swap 使用量——0% 不代表没用,100% 也不等于卡死;关键看换页频率和延迟
  • 禁用 Swap 后跑内存压力测试(如 stress -m)不是测 Swap 性能,而是验证 OOM Killer 行为

相关文章

数码产品性能查询
数码产品性能查询

该软件包括了市面上所有手机CPU,手机跑分情况,电脑CPU,电脑产品信息等等,方便需要大家查阅数码产品最新情况,了解产品特性,能够进行对比选择最具性价比的商品。

下载

相关标签:

linux

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

417

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

860

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

2512

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

856

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

749

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

394

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2256

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

4172

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

687

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习