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

【操作系统】Ubuntu Swap内存扩容

目录

背景

查看内存信息

确定当前的交换空间大小

查看内存使用情况

查看fstab文件,确认swap分区位置

查看swap分区大小

swap分区扩容

关闭swap分区

创建大的swap文件

格式化swap空间

关闭之前的swap

开启新swap

开机挂载

验证交换空间的大小


背景

在执行某些程序的时候,需要大量内存,但我们没有这么多的物理内存情况下,可以考虑使用swap内存来解决。如有时候build 大模型的镜像的时候,需要内存可能高达好几百G内存,此时就可以使用这里的方法扩容swap内存来实现。

查看内存信息

确定当前的交换空间大小

sudo swapon --showNAME      TYPE SIZE USED PRIO
/swapfile file   2G 1.7G   -2

查看内存使用情况

free -gtotal        used        free      shared  buff/cache   available
Mem:              31           2          27           0           0          27
Swap:              0           0           0

查看fstab文件,确认swap分区位置

cat /etc/fstab# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/nvme0n1p2 during installation
UUID=7cc1912c-3b10-4630-8c97-de02e675b09a /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/nvme0n1p1 during installation
UUID=4E4D-C7B8  /boot/efi       vfat    umask=0077      0       1
/swapfile                                 none            swap    sw              0       0
# ...

参数含义:

  1. /swapfile: 这是你的交换文件的路径。在大多数情况下,Ubuntu 默认会创建一个名为 /swapfile 的交换文件。
  2. none: 表示没有文件系统类型,因为这是一个特殊的文件而不是磁盘分区。
  3. swap: 指定文件的类型为交换空间。
  4. sw: 这个字段告诉操作系统,在启动时要启用这个交换文件。
  5. 0: 表示在 dump 命令中被忽略。
  6. 0: 表示在系统启动时不进行交换文件的检查。

查看swap分区大小

sudo fdisk -l /swapfileDisk /swapfile: 2 GiB, 2147483648 bytes, 4194304 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

这里看到swap空间为2 GiB,而我们需要扩展到32GB,所以至少要扩展30GB。

swap分区扩容

这里通过本身磁盘剩余空间扩容方案

关闭swap分区

sudo swapoff -a

创建大的swap文件

这里count大小为32GB,of参数为需要写盘位置

dd if=/dev/zero of=/opt/swap bs=1024 count=3355443233554432+0 records in
33554432+0 records out
34359738368 bytes (34 GB, 32 GiB) copied, 29.9129 s, 1.1 GB/s

格式化swap空间

/sbin/mkswap /opt/swapmkswap: /opt/swap: insecure permissions 0664, fix with: chmod 0600 /opt/swap
Setting up swapspace version 1, size = 32 GiB (34359734272 bytes)
no label, UUID=8d156b8f-cace-44b4-99ce-44dc3ce74c09

关闭之前的swap

sudo swapoff /swapfile

开启新swap

sudo /sbin/swapon /opt/swapswapon: /opt/swap: insecure permissions 0664, 0600 suggested.
swapon: /opt/swap: insecure file owner 1000, 0 (root) suggested.

开机挂载

sudo vim /etc/fstab

/opt/swap                                 none            swap    sw              0       0

验证交换空间的大小

swapon --show

相关文章:

  • 【30秒看懂大数据】数据标准
  • AlmaLinux更换鼠标样式为Windows样式
  • WordPress函数wptexturize的介绍及用法示例,字符串替换为HTML实体
  • 随机过程及应用学习笔记(四) 马尔可夫过程
  • LLVM实战之LLVM bitcode转换成目标平台汇编码
  • 【30秒看懂大数据】数据中台
  • 不到1s生成mesh! 高效文生3D框架AToM
  • Java学习网络编程
  • Apache 神禹(shenyu)源码阅读(三)——被网关路由的后端服务 Client 向 Admin 注册的数据传输(Client端)
  • 计算机网络概述习题拾遗
  • 【程序设计竞赛】C++与Java的细节优化
  • ch3-homework-基于InternLM和LangChain搭建自己的知识库
  • MySQL:常用指令
  • 物联网技术的崛起:驱动智慧景区的新篇章
  • 麻将普通胡牌算法(带混)
  • 实现windows 窗体的自己画,网上摘抄的,学习了
  • [笔记] php常见简单功能及函数
  • [译]如何构建服务器端web组件,为何要构建?
  • Android单元测试 - 几个重要问题
  • hadoop集群管理系统搭建规划说明
  • magento2项目上线注意事项
  • Python_网络编程
  • 闭包,sync使用细节
  • 闭包--闭包作用之保存(一)
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 双管齐下,VMware的容器新战略
  • 在Unity中实现一个简单的消息管理器
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • #我与Java虚拟机的故事#连载09:面试大厂逃不过的JVM
  • $NOIp2018$劝退记
  • (003)SlickEdit Unity的补全
  • (1)(1.11) SiK Radio v2(一)
  • (8)STL算法之替换
  • (c语言)strcpy函数用法
  • (iPhone/iPad开发)在UIWebView中自定义菜单栏
  • (js)循环条件满足时终止循环
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (八)c52学习之旅-中断实验
  • (差分)胡桃爱原石
  • (学习日记)2024.02.29:UCOSIII第二节
  • (原創) 博客園正式支援VHDL語法著色功能 (SOC) (VHDL)
  • ... 是什么 ?... 有什么用处?
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .bat批处理(三):变量声明、设置、拼接、截取
  • .bat批处理出现中文乱码的情况
  • .Net mvc总结
  • .NET 设计模式—适配器模式(Adapter Pattern)
  • .NET大文件上传知识整理
  • .net与java建立WebService再互相调用
  • .NET中统一的存储过程调用方法(收藏)
  • [BZOJ] 3262: 陌上花开
  • [github配置] 远程访问仓库以及问题解决
  • [js] 正则表达式
  • [LeetCode 687]最长同值路径
  • [Linux](16)网络编程:网络概述,网络基本原理,套接字,UDP,TCP,并发服务器编程,守护(精灵)进程