Linux服务器交换分区swap的查看与创建

在Linux服务器上,交换空间(Swap)是一个用于扩展物理内存的虚拟内存区域。当物理内存用尽时,操作系统会将一些数据从RAM移到交换空间中,以释放内存供当前任务使用。交换空间可以是一个磁盘分区、一个文件或一个LVM卷。下面是关于如何查看和创建交换分区(Swap)的详细指南。

一、查看当前交换空间

可以通过以下命令查看当前系统的交换空间使用情况:

1. 使用 free 命令查看交换空间
free -h

输出示例:

              total        used        free      shared  buff/cache   available
Mem:           7.8Gi       1.2Gi       5.4Gi       194Mi       1.1Gi       6.2Gi
Swap:          2.0Gi       0.0Ki       2.0Gi

  • Swap 列显示当前的交换空间大小、已用空间和空闲空间。
2. 使用 swapon 命令查看交换设备
swapon --show

这会列出所有启用的交换空间,包括文件和分区。

3. 使用 lsblk 命令查看交换分区
lsblk

这将列出所有磁盘及其分区,包括交换分区(通常标记为 swap 类型)。

二、创建交换分区

如果系统没有交换分区或你需要增加交换空间,可以通过以下步骤创建交换分区。

1. 创建一个新的分区

首先,使用 fdiskparted 工具对磁盘进行分区。假设我们使用的是 /dev/sdb 作为目标磁盘。

sudo fdisk /dev/sdb

fdisk 工具中执行以下操作:

  1. 输入 n 创建一个新分区。
  2. 输入 p 选择主分区。
  3. 输入分区号(例如 1)。
  4. 设置分区的大小(例如 +2G 表示分区大小为 2GB)。
  5. 输入 t 修改分区类型。
  6. 输入 82 设置交换分区类型。
  7. 输入 w 保存并退出。
2. 格式化分区为交换类型

创建好交换分区后,需要使用 mkswap 命令将其格式化为交换空间:

sudo mkswap /dev/sdb1
  • /dev/sdb1 是你新创建的交换分区。
3. 启用交换分区

使用 swapon 命令启用交换分区:

sudo swapon /dev/sdb1
4. 检查交换分区是否启用

再次使用 swapon --showfree -h 查看交换分区是否已经成功启用。

swapon --show

或者

free -h

三、设置开机自动启用交换分区

为了确保交换分区在系统重启后自动启用,需要将其添加到 /etc/fstab 文件中。

1. 编辑 /etc/fstab
sudo nano /etc/fstab
2. 添加交换分区信息

在文件末尾添加一行,指定交换分区的信息。假设我们使用的是 /dev/sdb1 分区,添加如下行:

/dev/sdb1 none swap sw 0 0

保存并退出编辑器。

四、创建交换文件(可选)

如果你不想创建额外的交换分区,另一种方法是创建一个交换文件来作为交换空间。

1. 创建交换文件
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
  • 这里创建了一个 2GB 的交换文件(count=2048 代表 2048 MB)。
2. 设置交换文件权限

确保交换文件的权限正确,只有 root 用户能读取和写入:

sudo chmod 600 /swapfile
3. 格式化交换文件

使用 mkswap 格式化交换文件:

sudo mkswap /swapfile
4. 启用交换文件

启用交换文件:

sudo swapon /swapfile
5. 设置开机自动启用交换文件

编辑 /etc/fstab 文件,添加如下行:

/swapfile none swap sw 0 0

保存并退出。

五、调整交换空间的大小

如果需要调整交换空间的大小,可以删除现有的交换分区或交换文件,然后重新创建新的交换空间。

1. 禁用交换分区或交换文件
sudo swapoff /dev/sdb1

或者对于交换文件:

sudo swapoff /swapfile
2. 删除交换文件(如果是交换文件)
sudo rm /swapfile
3. 重新创建新的交换分区或交换文件,重复上述步骤。

六、优化交换空间使用

1. 修改 swappiness 参数

swappiness 控制系统何时将数据从内存交换到交换空间。值的范围是 0 到 100,较低的值表示系统更倾向于使用物理内存,而较高的值则表示系统更早地使用交换空间。

可以查看当前的 swappiness 值:

cat /proc/sys/vm/swappiness

如果要临时调整 swappiness 值,可以使用以下命令:

sudo sysctl vm.swappiness=10

如果要永久修改 swappiness 值,可以编辑 /etc/sysctl.conf 文件,添加如下行:

vm.swappiness = 10

保存并退出,然后应用配置:

sudo sysctl -p

总结

  1. 查看交换空间:使用 free -hswapon --showlsblk 等命令查看当前交换空间。
  2. 创建交换分区:使用 fdisk 创建新的分区,并用 mkswap 格式化为交换空间。
  3. 启用交换分区:使用 swapon 启用交换分区。
  4. 创建交换文件:通过创建交换文件并格式化为交换空间来增加虚拟内存。
  5. 设置开机自动启用交换空间:编辑 /etc/fstab 文件进行配置。

通过这些步骤,你可以有效地管理Linux服务器上的交换空间,以确保系统在内存不足时能够顺利运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值