Linux Swap: 深入解析 mkswap, mkfs.swap, 和 swapon

ops/2024/12/21 6:02:06/

在这里插入图片描述

文章目录

    • Linux Swap: 深入解析 `mkswap`, `mkfs.swap`, 和 `swapon`
      • 什么是 Swap?
      • 主要命令介绍
        • 1. mkswap
        • 2. mkfs.swap
        • 3. swapon
      • 创建和管理 Swap 的步骤
        • 1. 创建 Swap 分区
        • 2. 初始化 Swap
        • 3. 激活 Swap
        • 4. 持久化配置
        • 5. 查看 Swap 状态
      • 删除 Swap 分区或文件
        • 1. 停用 Swap
        • 2. 删除 Swap 配置
        • 3. 删除分区或文件
      • 注意事项
      • 总结

Linux Swap: 深入解析 mkswap, mkfs.swap, 和 swapon

在 Linux 系统中,Swap 是一种重要的虚拟内存技术,用于缓解物理内存不足的情况。本文将围绕 mkswapmkfs.swapswapon 这三个命令,介绍 Swap 的概念、用途及其管理方法。


什么是 Swap?

Swap 是 Linux 系统中的交换空间,当物理内存(RAM)不足以支持当前运行的进程时,操作系统会将部分不活跃的数据转移到磁盘上的 Swap 区域。这种机制虽然比 RAM 慢,但可以防止系统因内存不足而崩溃。

Swap 可以以两种形式存在:

  1. Swap 分区:独立的磁盘分区,专用于 Swap。
  2. Swap 文件:存储在文件系统中的文件,作为虚拟内存使用。

主要命令介绍

1. mkswap

mkswap 命令用于初始化一个分区或文件,准备其作为 Swap 使用。

  • 基本语法

    mkswap [选项] <设备或文件>
    
  • 常用选项

    • -f:强制创建,即使目标设备已有数据。
    • -v0/-v1:选择 Swap 格式版本。
  • 示例
    初始化一个分区作为 Swap:

    sudo mkswap /dev/sda2
    
2. mkfs.swap

严格来说,mkfs.swap 并不是一个独立的命令,它是 mkswap 的一个符号链接。在大多数现代 Linux 系统中,mkfs.swap 的功能和 mkswap 完全一致。使用时推荐直接调用 mkswap

3. swapon

swapon 命令用于激活 Swap 区域,使其开始被系统使用。

  • 基本语法

    swapon [选项] <设备或文件>
    
  • 常用选项

    • -a:激活所有在 /etc/fstab 中定义的 Swap。
    • --show:显示当前已激活的 Swap 信息。
  • 示例
    激活一个分区作为 Swap:

    sudo swapon /dev/sda2
    

    显示当前激活的 Swap 区域:

    swapon --show
    

创建和管理 Swap 的步骤

以下是一个完整的创建、激活和管理 Swap 的过程:

1. 创建 Swap 分区

使用分区工具(如 fdiskparted)创建一个分区,并将分区类型设置为 82(Linux swap)。

2. 初始化 Swap

使用 mkswap 命令对分区进行格式化:

sudo mkswap /dev/sda2
3. 激活 Swap

使用 swapon 激活 Swap:

sudo swapon /dev/sda2
4. 持久化配置

编辑 /etc/fstab 文件,添加以下条目:

/dev/sda2 none swap sw 0 0
5. 查看 Swap 状态

使用 swaponfree 查看当前 Swap 的使用情况:

swapon --show
free -h

删除 Swap 分区或文件

如果不再需要某个 Swap,可以按照以下步骤操作:

1. 停用 Swap
sudo swapoff /dev/sda2
2. 删除 Swap 配置

/etc/fstab 文件中移除对应的条目。

3. 删除分区或文件

根据需要删除分区或文件。


注意事项

  1. Swap 大小:推荐 Swap 的大小至少等于物理内存的大小,如果需要支持休眠功能(hibernation),则建议 Swap 大小为内存的 1.5-2 倍。
  2. 性能影响:由于磁盘的速度远慢于内存,频繁使用 Swap 可能会导致性能下降。因此,Swap 只是内存不足时的临时缓冲。
  3. 安全性:启用 Swap 加密可以防止敏感数据在磁盘上被泄露。

总结

Swap 是 Linux 系统内存管理的重要组成部分,而 mkswapmkfs.swapswapon 是管理 Swap 的关键工具。通过正确配置和使用 Swap,可以提升系统的稳定性,并在资源有限时为应用程序提供额外的缓冲空间。


http://www.ppmy.cn/ops/143684.html

相关文章

Python利用chromedriver爬取商品主图数据

1.需要安装chromedriver Chrome下载地址 ChromeDriver官网下载地址&#xff1a;https://sites.google.com/chromium.org/driver/downloads ChromeDriver官网最新版下载地址&#xff1a;https://googlechromelabs.github.io/chrome-for-testing/ ChromeDriver国内镜像下载地址…

社区团购管理系统(源码+数据库)

355.基于SpringBoot的社区团购管理系统&#xff0c;系统包含两种角色&#xff1a;管理员、用户,系统分为前台和后台两大模块&#xff0c;主要功能如下 二、项目技术 编程语言&#xff1a;Java 数据库&#xff1a;MySQL 项目管理工具&#xff1a;Maven 前端技术&#xff1a;Vue …

基于Python的订单数据分析与可视化

概述 本文档详细介绍了使用Python进行订单数据分析和可视化的过程。我们的目标是从存储在文本文件中的JSON数据中提取信息&#xff0c;对这些数据进行处理和聚合&#xff0c;最后以图表的形式展示分析结果。本文档将详细介绍所使用的技术、编程核心思想、实现过程中遇到的问题…

el-table中合并垂直方向的单元格

el-table中合并垂直方向的单元格 一、合并垂直方向单元格&#xff0c;有相同字段的合并一起 一、合并垂直方向单元格&#xff0c;有相同字段的合并一起 合并一起的都有相同的字段mergeType <el-tableclass"merge-table":data"tableData"v-loading"…

旅游系统旅游小程序PHP+Uniapp

旅游门票预订系统&#xff0c;支持景点门票、导游产品便捷预订、美食打卡、景点分享、旅游笔记分享等综合系统 更新日志 V1.3.0 1、修复富文本标签 2、新增景点入驻【高级版本】3、新增门票核销【高级版】4、新增门票端口【高级版】

分布式链路追踪-03-Jaeger、Zipkin、skywalking 中的 span 是如何设计的?

开源项目 auto-log 自动日志输出 Jaeger、Zipkin 中的 spanId 是如何生成的&#xff1f; 在 Jaeger 和 Zipkin 这两个分布式跟踪系统中&#xff0c;Span ID 是通过不同的方法生成的。 下面分别介绍它们的生成方式&#xff1a; Jaeger 中的 Span ID 生成&#xff1a; 在 Ja…

基于Embedding模型的向量数据库与信息检索技术

前言 在信息爆炸的时代&#xff0c;如何从海量数据中高效检索出有价值的信息成为了一个重要的挑战。传统的基于关键词的检索方法已经难以满足日益增长的数据量和复杂的信息需求。近年来&#xff0c;随着深度学习技术的发展&#xff0c;Embedding模型和向量数据库逐渐成为了信息…

android recycleview 中倒计时数据错乱

原因 recyceleview 当页面划出屏幕外后&#xff0c;默认会有两条进入缓存区&#xff0c;这些item的结构会被保存&#xff0c;数据被清除&#xff0c;方便其他新进入屏幕的数据复用item&#xff0c;超过两条外的item会进入缓存池被完全销毁重用。 如果我们的页面上有editText 或…