温馨提示×

怎么测试centos swap

小樊
45
2026-10-17 10:00:40
栏目: 智能运维

在 CentOS 上“测试 swap”通常有三层含义,下面我按最常见、最实用的方式给你说明,你可以按需选择。


一、查看 swap 是否存在并生效(最基础)

1️⃣ 查看 swap 状态

free -h

或

swapon --show

✅ 说明:

  • free -h 中 Swap 有值,说明已启用
  • swapon --show 能看到设备或文件,说明 swap 正常

2️⃣ 查看 swap 使用情况

cat /proc/swaps

二、手动创建 swap 文件并测试(推荐测试方式)

1️⃣ 创建 swap 文件(例如 1G)

dd if=/dev/zero of=/swapfile bs=1M count=1024
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile

2️⃣ 验证

free -h
swapon --show

3️⃣ 开机自动挂载(可选)

echo '/swapfile swap swap defaults 0 0' >> /etc/fstab

三、真正“压测 swap 是否被使用”

方法 1:用 stress 模拟内存压力(最直观)

安装

yum install -y epel-release
yum install -y stress

制造内存压力(超过物理内存)

stress --vm 2 --vm-bytes 2G --timeout 60s

如果你的内存是 1G,这里就会开始用 swap

另开一个终端观察

watch free -h

你会看到:

  • Mem 用满
  • Swap 开始增长 ✅

方法 2:用 Python 占内存

python3 -c "
a = []
while True:
    a.append(' ' * 10**7)
"

四、测试 swap 性能(I/O 速度)

dd if=/dev/zero of=/swapfile bs=1M count=512 conv=fdatasync

或更专业:

ioping -R /swapfile

五、关闭 swap(测试完成后)

swapoff /swapfile
rm -f /swapfile

如写了 fstab,记得删掉那一行。


六、常见排错

❌ swap 不生效?

  • 文件权限不是 600
  • 没执行 mkswap
  • 磁盘满了
  • SELinux 限制(CentOS 常见)

查看:

dmesg | tail

总结

目的 命令
查看 swap free -h
创建 swap mkswap + swapon
压测 swap stress
验证使用 watch free -h

如果你能告诉我:

  • CentOS 版本(6 / 7 / 8 / Stream)
  • 是 物理机 / 虚拟机 / 云服务器
  • 想测 是否生效 / 性能 / 稳定性

我可以给你更精确的方案。

0 踩