当前位置: 首页 > 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.dtcms.com/a/335306.html

相关文章:

  • Linux sar命令详细使用指南
  • Effective C++ 条款45:运用成员函数模板接受所有兼容类型
  • Day2--滑动窗口与双指针--2090. 半径为 k 的子数组平均值,2379. 得到 K 个黑块的最少涂色次数,2841. 几乎唯一子数组的最大和
  • Linux软件编程:线程间通信
  • 【FreeRTOS】队列集
  • MySQL 插入数据提示字段超出范围?一招解决 DECIMAL 类型踩坑
  • 第三十七天(js前端数据加密和混淆)
  • Fixture Caliper 工具
  • GRPO(Group Relative Policy Optimization)公式速览
  • Scala面试题及详细答案100道(11-20)-- 函数式编程基础
  • 嵌入式软件架构设计之九: 双机通信之通信方式
  • 排列与组合
  • 超详细yolov8/11-obb旋转框全流程概述:配置环境、数据标注、训练、验证/预测、onnx部署(c++/python)详解
  • STM32标准库学习笔记
  • MM-Spatial和Spatial-MLLM论文解读
  • 【力扣-多数元素 JAVA/Python】
  • CD4+ T细胞激活区分抗PD-L1联合抗CTLA4疗法与单药抗PD-L1治疗的响应差异-空间最近邻分析
  • 民法学学习笔记(个人向) Part.5
  • 【最后203篇系列】032 OpenAI格式调用多模型实验
  • 39.离散化与哈希
  • 数据结构:二叉树的遍历 (Binary Tree Traversals)
  • 杂记 03
  • v-scale-scree: 根据屏幕尺寸缩放内容
  • 基于Python的电影评论数据分析系统 Python+Django+Vue.js
  • 防御保护12-14
  • tmux常用命令
  • Flamingo
  • KingbaseES主备读写分离集群安装教程
  • 字节数据流
  • 北汽新能源半年报:双品牌战略拉动销量增长,多元布局促进转化