✨ 瞬间 15 📚 归档 11 🏷️ 标签 26
📂 分类
🏷️ 标签 (26)

傲腾内存作为Swap配置教程

2026.10.14

研究背景 Background

HP ProDesk 600 G3 SFF 主机上有一块 16G Intel 傲腾内存(MEMPEK1J016GAL),希望将其整块作为 Linux swap 使用,并配置内核参数让系统积极调用 swap 以充分释放物理内存。傲腾的 4K 随机性能极强(240K IOPS),换入换出延迟很低,且 365 TBW 寿命足够长期使用,不怕磨损。

An HP ProDesk 600 G3 SFF has a 16G Intel Optane memory module (MEMPEK1J016GAL). The goal is to use it entirely as Linux swap and configure kernel parameters to aggressively use swap, freeing physical RAM for active processes. Optane’s 4K random performance is excellent (240K IOPS), swap latency is very low, and 365 TBW endurance is sufficient for long-term use.

参考资料 References

技术总结 Technical Summary

将傲腾整块创建为 swap(mkswap + swapon),写入 /etc/fstab 持久化(pri=100 高优先级),删除旧 /swap.img,设置 swappiness=200 和 vfs_cache_pressure=200 让系统积极使用 swap。所有操作只针对傲腾设备,绝不触碰系统盘。

项目 配置
swap 设备 /dev/nvme1n1(傲腾 16G)
优先级 pri=100,优先使用
持久化 /etc/fstab 中写入 UUID
swappiness 200(积极使用 swap)
vfs_cache_pressure 200(积极回收缓存)
已删除 /swap.img

⚠️ 所有操作只针对 /dev/nvme1n1,绝对不要动 nvme0n1(系统盘)。

细节 Details

一、确认傲腾已被识别

1
lsblk -o NAME,SIZE,MODEL,TYPE,FSTYPE,MOUNTPOINT

预期输出包含:

1
nvme1n1       13.4G INTEL MEMPEK1J016GAL   disk

如果看不到,说明 PCIe 转 M.2 卡或 BIOS 不兼容。

二、清理傲腾上的残留签名

1
2
sudo mdadm --stop /dev/md127 2>/dev/null
sudo wipefs -a /dev/nvme1n1

如果提示”Device or resource busy”:

1
2
3
sudo umount /dev/nvme1n1* 2>/dev/null
sudo mdadm --stop /dev/md127 2>/dev/null
sudo wipefs -a /dev/nvme1n1

清除成功后 lsblk /dev/nvme1n1 应只显示一个 disk,没有 linux_raid_member 或 LVM2_member。

三、将整块傲腾创建为 Swap

1
2
sudo mkswap -L optane-swap /dev/nvme1n1
sudo swapon /dev/nvme1n1

验证:

1
2
3
swapon --show
free -h
cat /proc/swaps

应看到 /dev/nvme1n1,大小约 13.4G。

四、持久化配置

查询 UUID:

1
sudo blkid /dev/nvme1n1

编辑 /etc/fstab,在末尾添加(用实际 UUID 替换):

1
UUID=YOUR_UUID none swap sw,pri=100 0 0

pri=100 表示优先级高,系统优先使用傲腾 swap。

测试 fstab:

1
2
3
sudo swapoff /dev/nvme1n1
sudo swapon -a
swapon --show

若傲腾 swap 重新出现且 PRIO 为 100,则配置成功。

五、删除旧的 /swap.img

1
2
sudo swapoff /swap.img
sudo rm /swap.img

编辑 /etc/fstab,注释或删除 /swap.img 那一行。验证此时应只剩 /dev/nvme1n1 一个 swap。

六、调整内核参数,积极使用 Swap

1
2
3
4
5
sudo sysctl vm.swappiness=200
echo 'vm.swappiness=200' | sudo tee /etc/sysctl.d/99-swappiness.conf

sudo sysctl vm.vfs_cache_pressure=200
echo 'vm.vfs_cache_pressure=200' | sudo tee -a /etc/sysctl.d/99-swappiness.conf

如果内核不支持 200,会报错,可改用 150 或 100。

七、重启并最终验证

1
sudo reboot

重启后执行:

1
2
3
4
swapon --show
free -h
cat /proc/sys/vm/swappiness
cat /proc/sys/vm/vfs_cache_pressure

预期:swapon --show 显示 /dev/nvme1n1 PRIO 100,free -h Swap 约 13.4G,swappiness 返回 200,vfs_cache_pressure 返回 200。

八、日常检查命令

1
2
3
4
5
6
7
8
9
swapon --show
free -h
cat /proc/swaps
cat /proc/sys/vm/swappiness
cat /proc/sys/vm/vfs_cache_pressure
lsblk /dev/nvme1n1
sudo blkid /dev/nvme1n1
grep swap /etc/fstab
vmstat 1 5

九、常见问题排查

问题 解决方法
wipefs 报错 “Device or resource busy” sudo mdadm --stop /dev/md127,再 sudo wipefs -a /dev/nvme1n1
swapon 后看不到傲腾 lsblk 确认设备名,检查是否被挂载
重启后 swap 丢失 检查 fstab 中 UUID 是否正确,sudo blkid /dev/nvme1n1
swappiness 设置 200 报错 改用 150 或 100

留言

0/500

留言经审核后才会公开显示:审核通过后刷新本页即可看到。