下面是一个Shell脚本,它可以让您一键添加或删除Swap虚拟内存,具体取决于您选择的操作。这个脚本将检查当前系统上是否已存在Swap,如果存在,则允许您删除它;如果不存在,则允许您创建并启用Swap。在运行脚本之前,请确保以管理员权限登录到系统。

#!/bin/bash

# 检查是否以root权限运行
if [ "$EUID" -ne 0 ]; then
  echo "请以root权限运行此脚本"
  exit 1
fi

# 检查系统中是否已存在Swap
if grep -q "swap" /etc/fstab; then
  echo "系统中已存在Swap分区。"
  echo "1. 删除现有Swap分区"
  echo "2. 退出"
  read -p "请选择要执行的操作 [1/2]: " choice

  case $choice in
    1)
      # 删除现有Swap
      swapoff -a
      sed -i '/swap/d' /etc/fstab
      echo "现有Swap已删除。"
      ;;
    2)
      echo "未进行任何操作。"
      ;;
    *)
      echo "无效的选项。"
      ;;
  esac
else
  # 提示用户输入要创建的Swap文件大小(以MB为单位)
  read -p "请输入要创建的Swap文件大小(以MB为单位): " swap_size

  # 创建Swap文件
  dd if=/dev/zero of=/swapfile bs=1M count=$swap_size

  # 设置文件权限
  chmod 600 /swapfile

  # 创建Swap文件系统
  mkswap /swapfile

  # 启用Swap
  swapon /swapfile

  # 更新/etc/fstab,以确保系统在启动时自动启用Swap
  echo "/swapfile none swap sw 0 0" >> /etc/fstab

  echo "Swap文件创建成功,大小为 ${swap_size}MB。"
fi

# 显示当前Swap信息
free -h

echo "脚本执行完毕。"

要使用这个脚本,按照以下步骤操作:

  1. 将上面的代码粘贴到一个新文件中,例如 manage_swap.sh
  2. 使用 chmod +x manage_swap.sh 命令添加执行权限。
  3. 运行脚本:./manage_swap.sh
  4. 如果系统中已存在Swap分区,脚本将允许您选择删除它。
  5. 如果系统中不存在Swap分区,脚本将提示您输入要创建的Swap文件大小(以MB为单位)。
  6. 脚本将创建Swap文件、设置文件权限、创建Swap文件系统、启用Swap,并在 /etc/fstab 中添加条目以确保系统在启动时自动启用Swap。

请注意,Swap的大小取决于您的系统性能和需求,不要过度使用Swap,以免影响性能。

标签: none