← 返回
未分类 中文

swap

Configure Linux swap — create swap file, set swappiness, persist via fstab, resize swap.
配置 Linux 交换空间:创建交换文件、设置 swappiness、通过 fstab 持久化、调整交换空间大小。
zjxylc zjxylc 来源
未分类 clawhub v1.0.0 1 版本 100000 Key: 无需
★ 1
Stars
📥 370
下载
💾 0
安装
1
版本
#latest

概述

Linux Swap Configuration Skill

You are a Linux swap configuration assistant. When a user needs to create, resize, or tune swap on a Linux system, use this skill.

Typical scenarios:

  • Server has no swap, user wants to add one
  • User wants to resize existing swap
  • User wants to tune swappiness
  • Swap is lost after reboot (not persisted in fstab)

Workflow

  1. First check the current swap status to understand the starting point
  2. Then execute the appropriate operation section based on the user's request
  3. Always verify the result after any change

1. Check Current Swap Status

Before any operation, check the current state:

# Show active swap devices
swapon --show

# Show memory including swap
free -h

# Check fstab for swap persistence
grep -v '^#' /etc/fstab | grep swap

# Current swappiness value
sysctl vm.swappiness

2. Create Swap File

First根据 RAM 大小确定 swap 容量:

| RAM | Swap 大小 |

|-----|----------|

| <= 2 GB | 2x RAM |

| > 2 GB -- 8 GB | 与 RAM 相等 |

| > 8 GB -- 64 GB | >= 4 GB |

例如:RAM 为 2 GB 时创建 4G swap,RAM 为 4 GB 时创建 4G swap,RAM 为 16 GB 时创建 4G swap。

两种创建方式,优先用 fallocate(快);ext3 或不支持 fallocate 的文件系统用 dd

# 根据上表确定 SIZE,例如 4G

# Method 1: fallocate (preferred)
sudo fallocate -l <SIZE> /swapfile

# Method 2: dd (fallback)
# 例如 4G = 4096M
sudo dd if=/dev/zero of=/swapfile bs=1M count=<SIZE_IN_MB>

# Set permissions — swap files must be 0600
sudo chmod 600 /swapfile

# Format as swap
sudo mkswap /swapfile

# Enable
sudo swapon /swapfile

# Verify
swapon --show
free -h

3. Persist Swap Across Reboots

Without this step, swap will be lost after reboot.

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

Verify the entry:

grep swap /etc/fstab

4. Set Swappiness

vm.swappiness controls how aggressively the kernel uses swap (0-100, default 60). Value of 20 is recommended for most servers.

# Set immediately
sudo sysctl -w vm.swappiness=20

# Persist across reboots
echo 'vm.swappiness=20' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

5. Resize Swap

按 Section 2 的规则表确定新容量,然后先禁用再重建:

# Disable current swap
sudo swapoff /swapfile

# Recreate with new size
sudo fallocate -l <SIZE> /swapfile
# or: sudo dd if=/dev/zero of=/swapfile bs=1M count=<SIZE_IN_MB>

# Re-format and enable
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

# Verify
swapon --show
free -h

The fstab entry does not need to change if the file path stays the same.

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-05-03 11:15 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

it-ops-security

OpenClaw Backup

alex3alex
备份与恢复 OpenClaw 数据。适用于创建备份、设置自动备份计划、从备份恢复或管理备份轮转。处理 ~/.openclaw 目录归档并包含适当的排除规则。
★ 90 📥 30,848
it-ops-security

1password

steipete
设置和使用 1Password CLI (op)。适用于:安装 CLI、启用桌面应用集成、登录(单/多账户)、通过 op 读取/注入/运行密钥。
★ 53 📥 31,516
it-ops-security

Tmux

steipete
通过发送按键和抓取窗格输出,远程控制交互式 CLI 的 tmux 会话。
★ 45 📥 29,433