ubuntu 增加虚拟内存 解决链接问题 2025-03-21 08:08 0 条回复 在 Ubuntu 24 中,增加交换分区(swap)可以通过以下两种方式实现: 1. **创建一个交换文件**(推荐):这是最简单且灵活的方式,无需重新分区。 2. **创建一个交换分区**:需要磁盘上有未分配的空间。 以下是详细的步骤: --- ### 方法 1:创建一个交换文件 #### 步骤 1:检查当前的交换空间 在开始之前,检查系统当前的交换空间: ```bash sudo swapon --show ``` 如果没有任何输出,说明当前没有启用交换空间。 #### 步骤 2:创建一个交换文件 1. 创建一个空文件作为交换文件。例如,创建一个 4GB 的交换文件: ```bash sudo fallocate -l 4G /swapfile ``` 如果 `fallocate` 不可用,可以使用 `dd`: ```bash sudo dd if=/dev/zero of=/swapfile bs=1G count=4 ``` 2. 设置正确的权限: ```bash sudo chmod 600 /swapfile ``` 3. 将文件格式化为交换空间: ```bash sudo mkswap /swapfile ``` 4. 启用交换文件: ```bash sudo swapon /swapfile ``` 5. 验证交换文件是否已启用: ```bash sudo swapon --show ``` 6. 将交换文件添加到 `/etc/fstab`,以便系统重启后自动启用: 编辑 `/etc/fstab` 文件: ```bash sudo nano /etc/fstab ``` 在文件末尾添加以下内容: ``` /swapfile none swap sw 0 0 ``` #### 步骤 3:调整交换空间的使用优先级(可选) 如果需要调整交换空间的使用优先级,可以修改 `swappiness` 值。默认值为 `60`,值越高,系统越倾向于使用交换空间。 查看当前 `swappiness` 值: ```bash cat /proc/sys/vm/swappiness ``` 临时修改 `swappiness` 值(例如设置为 `10`): ```bash sudo sysctl vm.swappiness=10 ``` 永久修改 `swappiness` 值: 编辑 `/etc/sysctl.conf` 文件: ```bash sudo nano /etc/sysctl.conf ``` 添加或修改以下行: ``` vm.swappiness=10 ``` --- ### 方法 2:创建一个交换分区 #### 步骤 1:检查磁盘空间 1. 使用 `lsblk` 或 `fdisk` 查看磁盘分区情况: ```bash lsblk ``` 或者: ```bash sudo fdisk -l ``` 2. 确保磁盘上有未分配的空间。如果没有,你需要调整现有分区或使用其他磁盘。 #### 步骤 2:创建交换分区 1. 使用 `fdisk` 或 `gparted` 创建一个新分区,并将其类型设置为 `Linux swap`。 2. 格式化新分区为交换空间: ```bash sudo mkswap /dev/sdXn ``` 其中 `/dev/sdXn` 是你的新分区(例如 `/dev/sda3`)。 3. 启用交换分区: ```bash sudo swapon /dev/sdXn ``` 4. 验证交换分区是否已启用: ```bash sudo swapon --show ``` 5. 将交换分区添加到 `/etc/fstab`,以便系统重启后自动启用: 编辑 `/etc/fstab` 文件: ```bash sudo nano /etc/fstab ``` 在文件末尾添加以下内容: ``` /dev/sdXn none swap sw 0 0 ``` --- ### 验证交换空间 无论使用哪种方法,都可以通过以下命令验证交换空间是否已成功添加: ```bash free -h ``` 输出示例: ``` total used free shared buff/cache available Mem: 7.7G 2.1G 4.9G 200M 700M 5.2G Swap: 4.0G 0B 4.0G ```  --- ### 总结 - **推荐使用交换文件**,因为它更灵活且不需要重新分区。 - 如果磁盘上有未分配的空间,可以选择创建交换分区。 - 添加交换空间后,记得将其添加到 `/etc/fstab`,以便系统重启后自动启用。 如果你在操作过程中遇到问题,请提供具体的错误信息,我会进一步帮助你解决!