尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Linux命令-swapon(开启交换空间)
Linux命令-swapon开启交换空间快速参考基本用法选项详解创建交换空间完整流程方式一交换文件推荐灵活方式二交换分区多交换空间优先级管理交换空间优化配置实用脚本swap 大小建议swapon用于在 Linux 系统上启用交换空间swap space。交换空间是当物理内存不足时内核将不常用的内存页面写入磁盘以释放 RAM 的机制。交换空间可以是一个专用磁盘分区swap 分区也可以是一个普通文件swap file。swapon与swapoff配对共同管理系统的虚拟内存。快速参考swapon[选项][设备|文件]Linux 推荐交换空间大小为物理内存的 1-2 倍休眠场景需要 ≥ RAM 大小。现代大内存服务器64GB可能只需少量交换空间作为安全网。基本用法# 查看当前交换空间使用情况swapon--show# 启用交换分区sudoswapon/dev/sdb2# 启用交换文件sudoswapon/swapfile# 启用所有在 /etc/fstab 中定义的交换空间sudoswapon-a# 启用所有并查看详细信息sudoswapon-av# 指定优先级数值越高越优先使用sudoswapon-p10/dev/sdb2sudoswapon-p5/swapfile# /dev/sdb2 优先级更高会先被使用# 按分区标签启用sudoswapon-Lswap_partition# 按 UUID 启用sudoswapon-U1234-abcd-5678-efgh选项详解选项说明-a启用/etc/fstab中所有标记为swap的分区-d丢弃discard已释放的交换块SSD 优化-e如果设备不存在则静默跳过-f强制操作-p PRIORITY设置优先级-1 到 32767-s显示交换使用摘要已废弃用--show--show显示已启用的交换空间--noheadings显示时不输出表头--raw原始格式输出-v详细模式创建交换空间完整流程方式一交换文件推荐灵活# 1. 创建指定大小的交换文件sudofallocate-l4G /swapfile# 或使用 dd更可靠但较慢# sudo dd if/dev/zero of/swapfile bs1M count4096# 2. 设置严格权限sudochmod600/swapfile# 3. 格式化为交换空间sudomkswap/swapfile# Setting up swapspace version 1, size 4 GiB# UUIDxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx# 4. 启用交换文件sudoswapon/swapfile# 5. 验证swapon--showfree-h# 6. 持久化配置添加到 /etc/fstabecho/swapfile none swap sw 0 0|sudotee-a/etc/fstab# 7. 验证 fstab 配置sudoswapon-a方式二交换分区# 1. 使用 fdisk/parted 创建分区并将类型设为 Linux swap (82)sudofdisk/dev/sdb# n → 创建新分区# t → 更改类型为 82 (Linux swap)# w → 写入并退出# 2. 通知内核重新读取分区表sudopartprobe /dev/sdb# 3. 格式化交换分区sudomkswap/dev/sdb1# 4. 启用交换分区sudoswapon/dev/sdb1# 5. 获取 UUID 用于 fstabsudoblkid /dev/sdb1# /dev/sdb1: UUIDabc-def-123 TYPEswap# 6. 添加到 /etc/fstabechoUUIDabc-def-123 none swap sw 0 0|sudotee-a/etc/fstab多交换空间优先级管理# 同时使用多个交换空间并设置优先级# SSD 优先于 HDDsudoswapon-p100/dev/nvme0n1p3# NVMe SSDsudoswapon-p50/dev/sda2# SATA SSDsudoswapon-p10/swapfile_hdd# 传统硬盘上的文件# 查看优先级PRIO 列swapon--show# NAME TYPE SIZE USED PRIO# /dev/nvme0n1p3 partition 8G 0B 100# /dev/sda2 partition 4G 0B 50# /swapfile_hdd file 2G 0B 10# 优先级相同的交换空间会被轮流使用round-robinsudoswapon-p50/dev/sda2sudoswapon-p50/dev/sdb2# 两个分区轮流写入类似 RAID 0 的效果交换空间优化配置# 调整交换倾向swappiness0-100# 0: 尽量不用交换 100: 积极使用交换cat/proc/sys/vm/swappiness# 默认 60# 临时调整sudosysctlvm.swappiness10# 永久调整echovm.swappiness10|sudotee/etc/sysctl.d/99-swap.conf# SSD 优化启用 TRIM/Discardsudoswapon-d/swapfile# 或在 fstab 中使用 discard 选项# /swapfile none swap sw,discard 0 0# 查看交换空间 I/O 统计cat/proc/vmstat|greppswp# 查看哪些进程在使用交换forpidin$(ls/proc|grep-E^[0-9]$);doswap$(awk/VmSwap:/ {print $2}/proc/$pid/smaps2/dev/null)if[-n$swap][$swap!0];thenname$(cat/proc/$pid/comm2/dev/null)echoPID$pidName$nameSwap${swap}kBfidone|sort-t-k4-rn|head-20实用脚本# 交换空间健康检查cat/usr/local/bin/swap_health.shEOF #!/bin/bash echo Swap 健康报告 echo 时间: $(date) echo # 检查是否有交换空间 if [ $(swapon --show --noheadings | wc -l) -eq 0 ]; then echo ❌ 无激活的交换空间建议至少配置 1GB exit 1 fi # 显示交换空间详情 swapon --show echo free -h # 检查 fstab 配置 echo echo /etc/fstab 中的交换配置 grep -v ^# /etc/fstab | grep swap || echo ⚠️ 警告fstab 中无交换配置 # 检查 swappiness SWAPPINESS$(cat /proc/sys/vm/swappiness) echo echo vm.swappiness $SWAPPINESS if [ $SWAPPINESS -gt 60 ]; then echo ⚠️ swappiness 偏高建议降低以减少不必要的交换 fi # 检查是否有极高交换使用 SWAP_USED$(free | awk /Swap:/ {print $3}) SWAP_TOTAL$(free | awk /Swap:/ {print $2}) if [ $SWAP_TOTAL -gt 0 ]; then USAGE$((SWAP_USED * 100 / SWAP_TOTAL)) if [ $USAGE -gt 80 ]; then echo ❌ 交换空间使用率: ${USAGE}% — 建议增加物理内存 fi fi EOFchmodx /usr/local/bin/swap_health.sh# swapon -a 与 nofail 选项的安全用法# /etc/fstab 中加 nofail 避免启动中断# UUIDabc-def none swap sw,nofail 0 0swap 大小建议物理内存推荐交换空间场景说明≤ 2 GBRAM × 2传统小型系统2-8 GB RAM一般服务器8-64 GB4-8 GB现代中等服务器 64 GB4-8 GB仅作安全网需要休眠≥ RAM休眠必须# 快速检查建议RECOMMENDED_SWAP(){localMEM_KB$(grepMemTotal /proc/meminfo|awk{print $2})localMEM_GB$((MEM_KB/1024/1024))if[$MEM_GB-le2];thenecho$((MEM_GB*2))GBelif[$MEM_GB-le8];thenecho$MEM_GBGBelseecho4-8 GB安全网fi}echo推荐交换空间:$(RECOMMENDED_SWAP)swapon是 Linux 内存管理的开关。合理配置交换空间可以在物理内存不足时为系统提供缓冲避免 OOM 进程终止。但交换空间不是内存的替代品——如果系统频繁大量使用交换“thrashing”应考虑增加物理内存而非增大交换空间。
RELATED

相关推荐

Linux命令-sync(将内存缓存写入磁盘)

Linux命令-sync(将内存缓存写入磁盘)

Linux命令-sync(将内存缓存写入磁盘))快速参考基本用法工作原理使用场景系统关机/重启基准测试数据持久化保证与相关命令的配合自定义 sync 频率监控脚本常见认知纠正sync 是一个简单但重要的命令,用于将文件系统缓冲区中所有未写…

📅 2026/9/1 8:07:55
Agent的真正门槛,从来不是跑通Demo,而是解决烂工程问题

Agent的真正门槛,从来不是跑通Demo,而是解决烂工程问题

文章目录1. 三个入口,共用一个脑子1.1 常规解法听着优雅,实则藏坑1.2 我偏反着来,直接内联打包1.3 有得必有失,拿复用换踏实2. 就盯着DeepSeek调,不做万金油2.1 “模型无关”听着万能,实则谁都不合身2.2 照…

📅 2026/9/1 4:03:40
微信聊天记录导出快速上手指南:3种格式加1份年度报告

微信聊天记录导出快速上手指南:3种格式加1份年度报告

微信聊天记录导出快速上手指南:3种格式加1份年度报告 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeChat…

📅 2026/9/1 16:08:16
MORE NEWS

更多资讯

📰

基于 Spring Boot 的研究生导师信息管理系统设计与实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

基于 Spring Boot 的学校浴室管理系统设计与实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

ADK A2A 实战:从零跑通分布式智能体协作,把孤岛智能体连成网络

ADK A2A 实战:从零跑通分布式智能体协作,把孤岛智能体连成网络 【免费下载链接】adk-docs An open-source, code-first toolkit for building, evaluating, and deploying sophisticated AI agents with flexibility and control. 项目地址: https://g…

📰

如何快速选对 Rime 输入方案:awesome-rime 完整指南

如何快速选对 Rime 输入方案:awesome-rime 完整指南 【免费下载链接】awesome-rime A curated list of Rime IME schemata and configs | Rime 輸入方案和配置列表 项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-rime 拼音候选翻不完&#xff0…

📰

平衡车FOC固件改造完全实战:hoverboard-firmware-hack-FOC 上手指南

平衡车FOC固件改造完全实战:hoverboard-firmware-hack-FOC 上手指南 【免费下载链接】hoverboard-firmware-hack-FOC With Field Oriented Control (FOC) 项目地址: https://gitcode.com/GitHub_Trending/ho/hoverboard-firmware-hack-FOC 平衡车FOC固件项目…

📰

Minecraft启动器PCL2:免费开源,5分钟跑起来还能自动装Java

Minecraft启动器PCL2:免费开源,5分钟跑起来还能自动装Java PCL2(Plain Craft Launcher 2)是一款免费开源的Minecraft启动器:自动匹配并下载Java、多版本并存、一键导入模组整合包,下载、启动、崩溃排查全包…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬