跳过正文

在 Ubuntu 20.04 中添加交换空间

Ubunut Swap Space
目录

什么是交换空间?
#

交换空间(Swap)是硬盘上的一块额外存储区域,当内存(RAM)不足时,系统会把数据临时存到这里。
它比内存慢,但能防止程序因为内存不足而崩溃。


第一步 – 检查系统是否已有交换空间
#

运行:

sudo swapon --show

如果没有输出,说明没有启用交换空间。
你也可以用:

free -h

如果 Swap 一栏显示 0B,说明没有。


第二步 – 检查磁盘空间
#

确保硬盘有足够空间:

df -h

找到 Mounted on 列中是 / 的那行。
如果可用空间有几 GB,就可以。

提示: 一般交换空间大小建议等于或是内存的两倍。超过 4 GB 通常没必要。


第三步 – 创建交换文件
#

例如创建 1 GB 交换文件(可改成你想要的大小):

sudo fallocate -l 1G /swapfile

检查文件:

ls -lh /swapfile

第四步 – 启用交换文件
#

  1. 设置权限(安全起见):
    sudo chmod 600 /swapfile
    
  2. 格式化为交换空间:
    sudo mkswap /swapfile
    
  3. 启用:
    sudo swapon /swapfile
    
  4. 检查是否生效:
    sudo swapon --show
    free -h
    

第五步 – 开机自动启用
#

当前配置在重启后会失效。
要让它开机自动生效:

sudo cp /etc/fstab /etc/fstab.bak
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

第六步 – 优化交换空间性能
#

调整 Swappiness
#

  • 控制系统使用交换空间的频率(0–100)。
  • 0 = 只有必要时才用交换空间。
  • 100 = 积极使用交换空间。

查看当前值:

cat /proc/sys/vm/swappiness

临时修改(例如设为 10):

sudo sysctl vm.swappiness=10

永久生效:

echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf

调整 Cache Pressure
#

  • 控制系统清理文件系统缓存的速度。
  • 值越低,缓存保留时间越长。

查看当前值:

cat /proc/sys/vm/vfs_cache_pressure

临时修改(例如设为 50):

sudo sysctl vm.vfs_cache_pressure=50

永久生效:

echo 'vm.vfs_cache_pressure=50' | sudo tee -a /etc/sysctl.conf

完成!
#

你已成功添加交换空间。现在内存不足时,系统会用它作为备用。
记住 —— 交换空间比内存慢,如果经常内存不够,最好的办法还是升级内存。

相关文章

2025 年国内 IT 从业者必考的 7 大 Linux 认证
Linux 认证 职业发展
软件定义汽车时代的领航
Software-Defined Vehicles Over the Air Total Cost of Ownership
英特尔18A制程良率受阻,量产进度推迟
Intel 18A Panther Lake