Ubuntu14.04中创建SWAP交换分区

本文介绍如何在VPS上配置SWAP分区,适用于内存较小的情况,如2GB RAM配SSD。教程覆盖检查现有SWAP状态、确定SWAP大小、创建及激活SWAP分区等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SWAP分区可以把RAM中访问频率很低的内容暂时转移到硬盘上,相当于Windows下的虚拟内存。对于只有2g内存,而又配备了SSD的VPS来说,创建SWAP分区简直再好不过了!

一般情况下SWAP分区大小要根据RAM大小来,一般取一倍或者两倍RAM大小的值,这里我就用2G了。

  1. 阿里云主机默认没有swap分区 

    先看看是否有swap分区

    sudo swapon -s

    也可以通过free命令

    free -m   

    total       used       free     shared    buffers     cached

    Mem:          3951        504       3447                151        199

    -/+ buffers/cache:        153       3798

    Swap:                            0 没有swap分区啊

  2. wap分区大概多少合适,

    查看内存大小的命令:

    cat /proc/meminfo  

  3. 给swap文件分配空间:
    sudo fallocate -l 2G /swapfile
  4. 修改swap文件权限,只允许root读写:
    sudo chmod 600 /swapfile
  5. 将文件格式化为swap:
    sudo mkswap /swapfile
  6. 启用 sudo swapon /swapfile
  7. 这时系统已经开始使用此SWAP分区,但我们需要让系统每次启动后都自动使用此SWAP分区,所以写入fstab文件:
    sudo sh -c 'echo "/swapfile none swap sw 0 0" >> /etc/fstab'
  8. 重启服务器
  9. 查看 swapon -s


这样在每次系统启动时都会自动使用此SWAP分区。

<think>我们正在处理一个关于在Ubuntu系统中将整个硬盘配置为交换分区的问题。根据用户提供的引用,我们可以总结出创建swap交换分区的通用步骤,但需要调整以适应使用整个硬盘的情况。 注意:用户要求将一个硬盘(而不是文件)配置为swap交换分区。因此,我们需要使用硬盘分区而不是文件。 步骤概述: 1. 确定目标硬盘设备(例如/dev/sdb)并确保它没有重要数据(因为创建swap分区会格式化该硬盘)。 2. 使用fdisk或parted等工具在目标硬盘上创建一个分区(如果硬盘没有分区,则创建一个新分区),并将该分区的类型设置为Linux swap(类型代码82)。 3. 格式化该分区swap。 4. 启用swap分区。 5.swap分区信息添加到/etc/fstab以实现开机自动挂载。 详细步骤: 步骤1:查看当前硬盘和分区情况 使用命令 `sudo fdisk -l` 或 `lsblk` 查看硬盘信息,确定要作为swap的硬盘设备名(例如/dev/sdb)。 步骤2:创建swap分区 假设目标硬盘是/dev/sdb,且整个硬盘只作为一个swap分区: a. 使用fdisk操作硬盘: sudo fdisk /dev/sdb b. 在fdisk交互界面中: - 输入 `n` 创建分区(默认主分区分区号1,起始扇区和结束扇区使用默认值,即整个硬盘)。 - 输入 `t` 更改分区类型,输入 `82`(Linux swap类型)。 - 输入 `w` 保存并退出。 步骤3:格式化swap分区 sudo mkswap /dev/sdb1 # 注意:这里的分区号根据实际情况,如果是整个硬盘的第一个分区,则为sdb1 步骤4:启用swap分区 sudo swapon /dev/sdb1 步骤5:验证swap是否启用 swapon -s 或 free -h 步骤6:设置开机自动挂载 编辑/etc/fstab文件,添加一行: /dev/sdb1 none swap sw 0 0 注意:使用设备名(/dev/sdb1)在fstab中不是最稳定的方式,因为设备名可能改变。建议使用分区的UUID。 获取UUID: `sudo blkid /dev/sdb1`,然后复制UUID值,在fstab中使用: UUID=xxxx none swap sw 0 0 例如: sudo sh -c 'echo "UUID=1234567890abcdef none swap sw 0 0" >> /etc/fstab' 或者使用文本编辑器编辑/etc/fstab文件。 重要提示:操作硬盘分区有风险,请确保备份重要数据,并确认操作的是正确的硬盘设备。 根据引用[^1]中提到的步骤,我们使用了类似的方法,但这里我们使用的是整个硬盘上的一个分区(而不是文件)作为swap。 引用[^2]和[^3]中提到了使用文件作为swap的方法,但用户要求使用硬盘,所以我们不使用文件方法。 相关问题: 1. 如何调整现有swap分区的大小? 2. 如何安全地移除或禁用swap分区? 3. 使用swap分区swap文件各有什么优缺点?</think>### 如何将硬盘配置为Ubuntuswap交换分区 以下是详细步骤(请确保操作前**备份重要数据**): #### 1. **确认目标硬盘** ```bash sudo fdisk -l # 查看所有硬盘设备,确认目标硬盘(如/dev/sdb) ``` ![硬盘列表示意图](https://example.com/disk-list.png) *图:使用`fdisk -l`查看硬盘设备[^1]* #### 2. **创建swap分区** ```bash sudo fdisk /dev/sdb # 进入分区工具 ``` - 输入 `n` → 创建分区(默认全盘分配) - 输入 `t` → 设置分区类型为 **Linux swap** (代码 `82`) - 输入 `w` → 保存分区表 *注:操作后硬盘数据将被清除* #### 3. **格式化分区swap** ```bash sudo mkswap /dev/sdb1 # 格式化分区(假设分区为sdb1) ``` ![格式化输出示例](https://example.com/mkswap-output.png) *图:mkswap格式化分区[^3]* #### 4. **启用swap分区** ```bash sudo swapon /dev/sdb1 # 立即激活swap free -h # 验证swap已生效(查看"Swap"行) ``` #### 5. **永久挂载** ```bash sudo nano /etc/fstab # 编辑挂载文件 ``` 添加一行(使用分区UUID更稳定): ```conf UUID=分区UUID none swap sw 0 0 ``` **获取UUID**: ```bash sudo blkid /dev/sdb1 # 复制UUID值 ``` #### 6. **调整swappiness(可选)** ```bash sudo sysctl vm.swappiness=10 # 降低swap使用倾向(0-100) ``` #### 验证结果: ```bash swapon --show # 查看活跃的swap分区 ``` ``` NAME TYPE SIZE USED PRIO /dev/sdb1 partition 2G 0B -2 ``` > ⚠️ **重要提醒** > - 操作前**务必确认目标硬盘无重要数据** > - 若硬盘已存数据,需先备份再分区 > - 建议使用**未使用的物理硬盘**或**独立分区** --- ### 相关问题 1. **如何安全移除Ubuntuswap分区?** 2. **swap分区大小应该设置为内存的几倍?** 3. **使用swap文件 vs swap分区有何性能差异?** 4. **如何诊断Ubuntuswap不足导致的系统卡顿?** [^1]: Ubuntu14.04创建SWAP交换分区 [^2]: ubuntu修改swap交换分区大小 [^3]: ubuntu18.04设置swap交换分区
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值