配置Swap与虚拟内存
约 694 字大约 2 分钟
2026-08-29
内存不足时,系统可以把磁盘空间当作"备用内存"使用:Linux 叫 Swap 交换分区/文件,Windows 叫虚拟内存(页面文件)。本文介绍两平台的配置方法。
Swap 不能替代内存
磁盘速度远低于内存,频繁使用 Swap/虚拟内存说明内存确实不足,系统会明显变慢。正确用法是兜底防崩溃(避免进程被 OOM 杀掉),长期方案仍是升级内存或优化程序。
Linux:创建 Swap 文件
以创建 2GB Swap 为例:
# 1. 创建 2GB 的 swap 文件
sudo fallocate -l 2G /swapfile
# fallocate 不可用时改用:sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
# 2. 权限与格式化
sudo chmod 600 /swapfile
sudo mkswap /swapfile
# 3. 启用
sudo swapon /swapfile
# 4. 开机自动挂载:追加到 /etc/fstab
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
# 5. 验证
swapon --show
free -h调整使用倾向(swappiness)
cat /proc/sys/vm/swappiness # 默认 60,数值越大越倾向使用 swap
# 物理内存充足、追求性能的实例可调低:
echo 'vm.swappiness=10' | sudo tee /etc/sysctl.d/99-swap.conf
sudo sysctl -p /etc/sysctl.d/99-swap.conf删除 Swap
sudo swapoff /swapfile
sudo rm /swapfile
# 并从 /etc/fstab 删除对应行Windows:配置虚拟内存
- 右键此电脑 → 属性 → 高级系统设置 → 性能区域设置 → 高级页 → 虚拟内存区域更改。
- 取消勾选自动管理所有驱动器的分页文件大小。
- 选择 C 盘:可保持"系统管理的大小";C 盘紧张时选自定义大小(初始 4096MB、最大 8192MB 起步),或把虚拟内存放到数据盘(选数据盘 → 自定义大小 → C 盘设为"无分页文件")。
- 设置 → 确定,按提示重启生效。
页面文件放哪个盘?
优先放在数据盘可以为 C 盘腾出空间;但数据盘为普通云盘时性能低于系统盘,对性能敏感的应用建议保留在 C 盘并控制大小。
常见问题
Swap 设多大合适?
无固定值:小内存实例(1-2GB)建议与内存等量;4GB 以上按内存的 50%~100% 配置即可,作用主要是兜底。
已经配了 Swap / 虚拟内存,还是很卡?
说明内存缺口太大、系统在频繁换页(Linux 表现为 va iowait 高、Windows 表现为磁盘 100%)。这属于内存不足,应升级配置或优化程序,参见Linux系统卡顿排查与Windows系统卡顿排查。
游戏服务器需要配吗?
部分游戏服务端(如幻兽帕鲁)内存占用会随游玩时间持续增长,配置 Swap 可以显著减少"玩着玩着崩服"的情况,参见搭建幻兽帕鲁服务器。
