ubuntu

Ubuntu Swapper设置步骤是什么

小樊
46
2025-09-24 18:37:56
栏目: 智能运维

Ubuntu Swapper(交换空间)设置步骤

一、前置准备:查看现有交换空间

在配置前,先确认系统是否已有交换空间及当前状态,避免重复操作:

sudo swapon --show      # 查看已启用的交换空间详情
sudo fdisk -l           # 查看磁盘分区情况(确认未分配空间)
cat /proc/swaps         # 查看交换空间的内核级信息

二、创建交换文件(推荐:灵活且易管理)

交换文件是Ubuntu中最常用的交换空间类型,适用于物理分区不足或需要动态调整大小的场景。

  1. 创建指定大小的交换文件
    使用fallocate命令(快速,推荐)或dd命令(兼容性好)创建文件(例如4GB):
    sudo fallocate -l 4G /swapfile    # 推荐:快速创建指定大小的文件
    # 若fallocate不可用,使用dd命令:
    sudo dd if=/dev/zero of=/swapfile bs=1M count=4096  # 创建4GB(4096MB)文件
    
  2. 设置严格的文件权限
    交换文件仅能被root用户访问,防止数据泄露:
    sudo chmod 600 /swapfile
    
  3. 格式化为交换空间
    使用mkswap命令将文件转换为交换格式:
    sudo mkswap /swapfile
    
  4. 启用交换文件
    立即激活交换空间,使系统开始使用:
    sudo swapon /swapfile
    
  5. 设置开机自动启用
    编辑/etc/fstab文件,添加以下行(确保系统重启后自动加载):
    echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
    # 或使用文本编辑器(如nano):
    sudo nano /etc/fstab  # 在文件末尾添加上述行,保存退出
    

三、创建交换分区(传统:适用于固定大小需求)

若系统有未分配的磁盘空间,可创建专用交换分区(性能略优于交换文件,但调整大小麻烦)。

  1. 创建新分区
    使用fdisk工具操作目标磁盘(如/dev/sda,请根据实际情况替换):
    sudo fdisk /dev/sda
    
    • n创建新分区,选择p(主分区)或e(扩展分区),设置分区号(如1);
    • 设置起始扇区(默认即可),结束扇区或大小(如+2G表示2GB);
    • t更改分区类型,输入82(Linux swap类型);
    • w保存并退出(分区表将自动更新)。
  2. 格式化分区为交换空间
    将新分区(如/dev/sda1)格式化为交换格式:
    sudo mkswap /dev/sda1
    
  3. 启用交换分区
    立即激活分区:
    sudo swapon /dev/sda1
    
  4. 设置开机自动启用
    编辑/etc/fstab文件,添加以下行:
    /dev/sda1 none swap sw 0 0  # 替换为实际分区名称
    

四、验证交换空间是否生效

无论使用文件还是分区,均需确认配置成功:

sudo swapon --show      # 应显示已启用的交换空间(文件或分区)
free -h                 # 查看内存与交换空间总用量(Swap列应有数值)
cat /proc/swaps         # 内核级交换空间信息(应包含新增的交换文件/分区)

五、优化交换性能(可选)

  1. 调整swappiness参数
    swappiness控制内核将内存数据移至交换空间的倾向(默认值60,范围0-100)。值越低,系统越倾向于保留内存中的数据。
    • 查看当前值:
      cat /proc/sys/vm/swappiness
      
    • 临时修改(重启失效):
      sudo sysctl vm.swappiness=10  # 推荐值:10-30(内存充足时可设为10)
      
    • 永久生效:编辑/etc/sysctl.conf,添加:
      vm.swappiness=10
      
  2. 使用zram/zswap(进阶)
    • zram:在内存中创建压缩的块设备作为交换空间,提升IO性能(适合内存充足的系统);
    • zswap:在内存中创建压缩的swap缓存,减少对磁盘swap的访问(适合内存不足的系统)。
      配置需安装对应工具(如zram-config)并修改内核参数,具体步骤可参考Ubuntu官方文档。

六、调整交换空间大小(可选)

  1. 扩大交换空间
    • 若使用交换文件:
      sudo swapoff /swapfile    # 关闭交换文件
      sudo fallocate -l 8G /swapfile  # 扩大至8GB(示例)
      sudo chmod 600 /swapfile
      sudo mkswap /swapfile
      sudo swapon /swapfile
      
    • 若使用交换分区:需使用fdisk删除原分区并创建更大分区,再重新格式化启用(步骤参考“创建交换分区”)。
  2. 缩小交换空间
    缩小操作有数据丢失风险,建议先备份重要数据,步骤与扩大相反(先关闭、缩小分区/文件、重新格式化启用)。

注意事项

0
看了该问题的人还看了