ubuntu

Ubuntu swapper设置指南

小樊
39
2025-03-18 02:36:48
栏目: 智能运维

在Ubuntu系统中,设置swap分区(也称为虚拟内存)是一个重要的步骤,它可以帮助系统在物理内存不足时,将部分不活跃的内存数据暂时存储到硬盘上,从而避免系统崩溃。以下是详细的设置指南:

检查当前Swap使用情况

首先,您可以使用以下命令来检查系统是否已经启用了swap空间:

sudo swapon --show

如果没有输出,则表示当前系统尚未启用swap空间。

创建Swap文件

  1. 创建一个空白文件
sudo fallocate -l 2G /swapfile

或者,如果您使用的是较旧的Ubuntu版本,可以使用dd命令:

sudo dd if=/dev/zero of=/swapfile bs=1M count=2048

这里的2G表示创建一个2GB的swap文件,您可以根据需要调整大小。

  1. 设置文件权限
sudo chmod 600 /swapfile
  1. 格式化文件为swap空间
sudo mkswap /swapfile
  1. 启用swap文件
sudo swapon /swapfile
  1. 永久设置swap文件

为了让swap文件在系统重启后自动启用,需要将其添加到/etc/fstab文件中:

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

创建Swap分区

如果您希望创建一个swap分区而不是文件,可以使用gparted等工具来缩小现有分区并创建一个新的swap分区,然后使用mkswap命令将其格式化为swap分区,并使用swapon命令启用它。

调整Swappiness值

Swappiness是一个内核参数,用于控制系统使用swap空间的频率。默认值通常为60,对于大多数Ubuntu版本,包括最新的LTS版本,这个值是合适的。但是,如果您希望减少系统对swap的依赖,可以将其设置为较低的值,例如:

sudo sysctl vm.swappiness=40

为了让这个设置在系统重启后依然有效,需要将其添加到/etc/sysctl.conf文件中:

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

然后运行以下命令使更改生效:

sudo sysctl -p
```。

### 删除Swap文件或分区

如果您想要删除swap文件或分区,首先需要停用它们:

```bash
sudo swapoff /swapfile

对于swap文件,然后从/etc/fstab文件中删除相应的行:

sudo nano /etc/fstab

找到类似于以下内容的行并删除或注释掉:

/swapfile none swap sw 0 0

对于swap分区,使用gparted等工具来删除分区,并从/etc/fstab中移除相应的行。

请注意,在调整swap分区大小之前,确保您了解系统的内存和磁盘使用情况,并谨慎操作以避免数据丢失或系统性能问题。

0
看了该问题的人还看了