当前位置: 首页 > news >正文

深入了解 swap:作用、局限与分区建立

什么是swap?

swap,也就是常说的交换分区,有时也被称作交换空间,它本质上是磁盘上的一块特殊区域。在物理内存空间告急时,内核会把内存中闲置的内存页写入交换区,这样就能腾出内存空间给活跃的进程使用,这便是 swap 的核心作用。

不过,swap 也存在明显的缺点。由于它位于磁盘上,和物理内存相比,读写数据的速度要慢得多。所以如果过度使用 swap,很可能会导致系统性能下降。基于此,如果内存经常无法满足工作负载的需求,更合理的做法是考虑提升内存性能,比如更换更大容量的内存,而不是单纯依赖交换空间。

值得一提的是,有些容器管理工具(例如 Docker、k8s)在创建容器时会自动关闭 Swap。这是因为容器属于轻量级虚拟化技术,它们与主机共享物理内核。Swap 的主要作用是在物理内存不足时将数据移动到磁盘上,但容器内的进程本应受到资源限制,所以在容器内使用 Swap 可能无法达到预期效果,还可能引发性能问题。

如何建立新的 swap 分区

首先是创建交换分区。可以使用 parted 或 fdisk 工具来创建所需大小的分区,并将其文件系统类型设置为 linux-swap。创建分区之后,要记得运行 udevadm settle 命令,这个命令会等待系统检测到新分区,并在 /dev 中创建关联的设备文件。

然后是格式化设备。这一步需要使用 mkswap 命令,例如:mkswap /dev/vdb2。

之后是激活交换空间,使用 swapon 命令即可,比如:swapon /dev/vdb2。

如果想要持久激活交换空间,就需要在 /etc/fstab 文件中添加一个条目。例如:UUID=39e2667a-9458-42fe-9665-c5c854605881 swap swap defaults 0 0 。这里需要说明的是,第二个字段通常是为挂载点保留的,但由于交换设备无法通过目录结构访问,所以该字段用占位符值 swap 即可;第三个字段是文件系统类型,交换空间的文件系统类型就是 swap。

最后,记得运行 systemctl daemon-reload 命令,或者重启服务器,这样才能让 systemd 注册新的配置。

http://www.xdnf.cn/news/1310959.html

相关文章:

  • (第十七期)HTML图像标签详解:从入门到精通
  • 解决html-to-image在 ios 上dom里面的图片不显示出来
  • [Linux] Linux交换空间管理 Linux系统启动原理
  • 8.16 pq
  • 从 Windows 到 Linux 服务器的全自动部署教程(免密登录 + 压缩 + 上传 + 启动)
  • 嵌入式硬件篇---运算放大器
  • 要想在Trae运行Java程序,该怎样配置Java环境?
  • TOGAF八步一法笔记2
  • TexStudio中的Latex,PDFLatex,XeLatex和LuaLatex的区别
  • RocketMq面试集合
  • 暴雨服务器:以定制化满足算力需求多样化
  • 小白挑战一周上架元服务——元服务开发06
  • 肖臻《区块链技术与应用》第20-22讲 - 以太坊难度调整、权益证明和智能合约
  • 415. 字符串相加
  • Java设计模式之《工厂模式》
  • 【Java web】HTTP 协议详解
  • HTTP 1.0, 2.0 和 3.0 有什么区别?
  • OpenAI TTS API + Web 前端 AudioContext 实战方案
  • (论文速读)ViDAR:视觉自动驾驶预训练框架
  • leetcode-139. 单词拆分-C
  • 中本聪思想与Web3的困境:从理论到现实的跨越
  • 从依赖到自研:一个客服系统NLP能力的跃迁之路
  • 昇腾AI自学Day2-- 深度学习基础工具与数学
  • Spring AI 进阶之路01:三步将 AI 整合进 Spring Boot
  • 异构数据库兼容力测评:KingbaseES 与 MySQL 的语法・功能・性能全场景验证解析
  • linux设备驱动之字符设备驱动
  • Python代码规范与静态检查(ruff/black/mypy + pyproject.toml + Makefile)自动化工具链介绍
  • 【LeetCode 热题 100】70. 爬楼梯——(解法二)自底向上
  • 在鸿蒙应用中快速接入地图功能:从配置到实战案例全解析
  • ISO27001 高阶架构 之 支持 -2