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

Swap 基本概念

Swap 基本概念

Swap(交换空间)是 Linux 的虚拟内存机制,把磁盘一块空间当作 “临时内存”,缓解物理内存不足。

  • 交换分区(swap partition):独立分区,性能好、稳定。
  • 交换文件(swap file):普通文件,灵活、易调整,适合云服务器。

查看内存

# 默认单位是KiB,使用-m选项,以MiB为单位[root@sever ~13:14:32]# freetotal usedfreeshared buff/cache available Mem:40261161590323608940117842581443639900Swap:209714802097148

输出说明:

  • Mem:
  • total:物理内存空间大小。
  • used:使用的内存 (total - free - buffers - cache)。
  • free:未使用的内存空间大小(真正的空闲,未被任何程序占用)。
  • shared:多个进程共享的内存空间大小。
  • cached:从磁盘读取的数据占用的内存空间大小,待以后使用(数据没有被修改)。
  • buffers:被更改但未写回磁盘的数据占用的内存空间大小。
  • Swap:
  • total:交换空间大小。
  • used:使用的交换空间大小。
  • free:未使用交换空间大小。

补充:分析操作系统自带的 LVM 结构

[root@sever ~13:14:37]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda8:0060G0disk ├─sda18:101G0part /boot └─sda28:2059G0part ├─centos-root253:0038.3G0lvm / ├─centos-swap253:102G0lvm[SWAP]└─centos-home253:2018.7G0lvm /home sdb8:16020G0disk sdc8:32020G0disk sdd8:48020G0disk sde8:64020G0disk sdf8:80020G0disk sr011:014.4G0rom

发现:/home文件系统系统空间很大,但是使用空间非常少。缩减/home空间给其他应用使用。

/home文件系统是xfs,不支持缩减。可以备份数据后,再缩减空间。

# 备份数据[root@sever ~19:39:24]# mkdir /backup[root@sever ~19:41:53]# cp -a /home/bgy /backup/[root@sever ~19:42:04]# ls /backupbgy# 缩减逻辑卷[root@sever ~19:42:53]# umount /home[root@sever ~19:43:08]# lvreduce -L 5G /dev/centos/homeWARNING: Reducing active logical volume to5.00GiB. THIS MAY DESTROY YOUR DATA(filesystem etc.)Do you really want to reduce centos/home?[y/n]: y Size of logical volume centos/home changed from<18.70GiB(4786extents)to5.00GiB(1280extents). Logical volume centos/home successfully resized.# 空间释放到卷组中[root@sever ~19:43:27]# vgsVG#PV #LV #SN Attr VSize VFreecentos130wz--n-<59.00g<13.70g# 重新格式化并挂载[root@sever ~19:43:31]# mkfs.xfs -f /dev/centos/homemeta-data=/dev/centos/homeisize=512agcount=4,agsize=327680blks=sectsz=512attr=2,projid32bit=1=crc=1finobt=0,sparse=0data=bsize=4096blocks=1310720,imaxpct=25=sunit=0swidth=0blks naming=version2bsize=4096ascii-ci=0ftype=1log=internal logbsize=4096blocks=2560,version=2=sectsz=512sunit=0blks, lazy-count=1realtime=noneextsz=4096blocks=0,rtextents=0[root@sever ~19:44:42]# grep home /etc/fstab/dev/mapper/centos-home /home xfs defaults00# 恢复数据[root@sever ~19:44:57]# cp -a /backup/bgy /home/[root@sever ~19:45:11]# su - bgy#home 已经缩减为5G[root@sever ~19:47:30]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda8:0060G0disk ├─sda18:101G0part /boot └─sda28:2059G0part ├─centos-root253:0038.3G0lvm / ├─centos-swap253:102G0lvm[SWAP]└─centos-home253:205G0lvm /home

创建交换空间

# 使用parted创建所需大小的分区并将其文件系统类型设置为linux-swap[root@sever ~19:49:18]# parted /dev/sdb mklabel gpt信息: You may need to update /etc/fstab.[root@sever ~19:49:21]# parted /dev/sdb unit MiB mkpart swap01 linux-swap 1 2049信息: You may need to update /etc/fstab.[root@sever ~19:49:47]# parted /dev/sdb unit MiB printModel: VMware, VMware Virtual S(scsi)Disk /dev/sdb: 20480MiB Sector size(logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name 标志11.00MiB 2049MiB 2048MiB swap01# 格式化swap空间[root@sever ~19:50:02]# mkswap /dev/sdb1正在设置交换空间版本1,大小=2097148KiB 无标签,UUID=885da87e-f0e5-4a77-a307-7c32b64633af

激活 swap 空间

# 激活swap空间[root@sever ~19:50:28]# swapon /dev/sdb1# 查看swap设备列表[root@sever ~19:51:10]# swapon -s文件名 类型 大小 已用 权限 /dev/dm-1 partition20971480-2/dev/sdb1 partition20971480-3

默认情况下,多个交换空间具有相同的优先级时,系统会按顺序使用交换空间,即内核先使用第一个已激活交换空间,直至其空间已满,然后开始使用第二个交换空间。在激活交换分区的时候,可以为每个交换空间定义一个优先级,从而强制按该顺序使用交换空间。

swapon 命令使用-p选项指定优先级,优先级介于-1和32767之间,值越大优先级越高。

取消 swap 空间激活

[root@sever ~19:51:18]# swapoff /dev/sdb1[root@sever ~19:52:52]# swapon -s文件名 类型 大小 已用 权限 /dev/dm-1 partition20971480-2

持久化激活 swap 空间

修改/etc/fstab文件,添加如下类似记录:

UUID=885da87e-f0e5-4a77-a307-7c32b64633af swap swap defaults00[root@sever ~19:53:48]# blkid /dev/sdb1/dev/sdb1:UUID="885da87e-f0e5-4a77-a307-7c32b64633af"TYPE="swap"PARTLABEL="swap01"PARTUUID="1a5f995b-2593-44be-aab8-1d9c384bfae0"[root@sever ~19:59:31]# swapon -a[root@sever ~19:59:35]# swapon -s文件名 类型 大小 已用 权限 /dev/dm-1 partition20971480-2/dev/sdb1 partition20971480-3
http://www.zskr.cn/news/1380513.html

相关文章:

  • 从电子安全实战演练到硬件安全思维培养:一次独特的竞赛解析
  • PHP与MySQL安全交互-防止SQL注入的终极指南
  • 基于AI与多源数据的漏斗式学校自动识别框架:从宏观预测到精准定位
  • C# 算法 LeetCode 编号 70 - 爬楼梯
  • SciDownl终极指南:3步构建你的学术文献自动化下载系统
  • 3步实战:将闲置电视盒子改造为Armbian服务器的完整指南
  • 国内实力吊钩式抛丸机厂家排行:实测数据对比 - 奔跑123
  • Windows键盘重映射终极指南:如何使用SharpKeys专业解决方案告别误触烦恼
  • 市面上有哪些是真正安全的降AIGC网站(轻松压低AI生成疑似率)
  • 四进二出音视频选择器设计:从模拟开关到红外遥控的完整工程实践
  • 给大中小学教师同仁的AI大礼包:6款用AI减负增效提质的利器,拿走不谢! - AI论文先行者
  • 2026年呼和浩特市赛罕区汽车贴膜行业趋势与选型指南白皮书 - GrowthUME
  • docx-edit:用虚拟树的方式,优雅地编辑 Word文档
  • 水下多机器人仿真与运动规划框架Angler扩展解析
  • Keil C251中ECODE配置与启动代码修改指南
  • 从零开始:Python智能体建模框架Mesa的完整指南
  • SHAP原理与特征贡献解析
  • Actor Framework里的“多米诺骨牌”:一个错误如何让整个嵌套操作者链崩溃?
  • “--glow”并不存在?!深度逆向Midjourney 6.1源码级辉光模拟协议,曝光官方刻意隐藏的4个隐式辉光增强开关
  • 多平台新媒体矩阵一站式管理中台:从“人海战术“到“AI智能增长“的架构演进与实践解析
  • 别再只用余弦相似度了!5分钟搞懂Python里Levenshtein、Word2Vec、BERT怎么选
  • 还在为浏览器下载慢而烦恼?3分钟配置Motrix扩展,下载效率提升300%
  • 新用户注册Taotoken后快速获取API Key并完成首次模型调用的全过程
  • 原神智能自动化脚本实战指南:高效解放双手的完整解决方案
  • 聊天机器人“越狱”频发,人工智能安全转向社交心理攻防战!
  • 从零开始构建个人知识库:kepano-obsidian笔记模板完整指南
  • 每日一书㉗ | 刻意练习:为什么有些人努力一辈子还是平庸?
  • 【小白快速上手】 OpenClaw 安装部署全流程(含安装包)
  • ESP32搭建TFT_LCD中文字库,附常用字库
  • UnityExplorer:如何在游戏运行时实时调试和修改Unity项目