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

【Linux】详细分析/dev/loop的基本知识 | 空间满了的解决方法

目录

  • 前言
  • 1. 基本知识
  • 2. 内存满了
    • 2.1 清空
    • 2.2 扩增
  • 3. 彩蛋

前言

服务器一直down机,翻找日志文件一直找不到缘由,最终发现是挂载的内存满了,那本身这个文件就什么用呢?

1. 基本知识

/dev/loop是一种特殊的设备文件,用于将文件系统映射到一个文件上,形成一个虚拟的块设备。通常情况下,它用于挂载镜像文件或压缩的文件系统,例如ISO镜像、磁盘映像或squashfs文件系统

/dev/loop的作用是允许用户将文件系统挂载为一个磁盘分区,这样用户就可以像操作硬盘分区一样来访问其中的文件

  • 创建和管理 loop 设备:在 Linux 中,可以使用 losetup 命令来创建和管理 loop 设备,通过 losetup 命令,可以将文件与 loop 设备进行绑定或解除绑定,并管理 loop 设备的属性。

  • 挂载和卸载文件系统:一旦文件与 loop 设备绑定,就可以像挂载其他块设备一样,使用 mount 命令将文件系统挂载到指定的挂载点上,也可以使用 umount 命令将文件系统卸载

  • 使用 loop 设备创建虚拟磁盘:通过 loop 设备,可以轻松地创建虚拟磁盘。用户可以创建一个空文件,然后将其与 loop 设备绑定,并在其上创建文件系统,从而形成一个虚拟磁盘,用于存储数据。

  • 挂载镜像文件:将镜像文件挂载到文件系统中。例如,可以将 ISO 镜像文件挂载到 /dev/loop 上,以便浏览其内容或执行其中的程序

  • 容器技术:创建容器的根文件系统,Docker 等容器平台会使用 loop 设备来挂载容器镜像。

2. 内存满了

一共有两种方案,要么清空要么扩增

2.1 清空

df -h查看,发现/dev/loop系列的都满了
在这里插入图片描述

自动删除不再需要的 Snap 软件包以及它们的配置文件,并彻底清除 Snap 守护程序 snapd :sudo apt autoremove --purge snapd

在这里插入图片描述

再次查看:

在这里插入图片描述

2.2 扩增

1. 查看挂载文件losetup命令来查看loop设备挂载的哪个文件,相应进行扩增

2. 扩增文件dd if=/dev/loop1 bs=4M count=1024 >> /xx/yy/xx.img,( 4M * 1024 = 4096M )

3. 更新 loop 设备: losetup -c /dev/loop1

4. 更新 loop 设备: losetup -c /dev/loop1

3. 彩蛋

对于从无到有的新增,具体如下:

1. 检查可用设备losetup -a

2. 创建新的loop设备sudo mknod /dev/loop5 b 7 5。(b表示该设备是一个块设备,7表示主设备号,5表示次设备号。主设备号7用于loop设备,而次设备号表示具体的loop设备编号)

3. 将文件与新的loop设备关联sudo losetup /dev/loop5 /path/to/image.img

4. 挂载关联的文件系统sudo mount /dev/loop5 /mnt

如果后续需要使用新的挂载设备,具体如下:

sudo umount /mnt
sudo losetup -d /dev/loop5
sudo rm /dev/loop5

相关文章:

  • 【前端面试3+1】02插槽、箭头函数与普通函数、重绘重排、【回文数】
  • 计算机网络——数据链路层(差错控制)
  • 微软Microsoft Surface Go 2
  • 将word转为PDF的几种简单方式
  • Day48:WEB攻防-PHP应用文件上传中间件CVE解析第三方编辑器已知CMS漏洞
  • CMake学习笔记(一)一个最简单的CMakeLists嵌套示例
  • 使用Urllib库创建第一个爬虫程序
  • 创新研报 | 2024+人工智能安全报告
  • 基于javaweb(springboot+mybatis)生活美食分享平台管理系统设计和实现以及文档报告
  • OD_2024_C卷_100分_70、停车场车辆统计【JAVA】【逻辑分析】
  • 监控API的指标
  • MySQL内置函数
  • 机器学习 - save和load训练好的模型
  • PHP 读取嵌入式数据 SQLite3
  • 一个单生产-多消费模式下无锁方案(ygluu/卢益贵)
  • 数字乡村引领新风尚:科技赋能农村实现全面进步
  • 零基础机器学习(3)之机器学习的一般过程
  • GPT4.0
  • [flask]flask的路由
  • 35 跨域相关问题, 以及常见的解决方式
  • https://app.hackthebox.com/machines/Inject
  • Spring —— Spring简单的读取和存储对象 Ⅱ
  • 渗透测试之冰蝎实战
  • Mybatis、TKMybatis对比
  • Microsoft Office 2019(2022年10月批量许可版)图文教程
  • 《谷粒商城基础篇》分布式基础环境搭建
  • 哈希表题目:砖墙
  • Vue 3.0 选项 生命周期钩子
  • 【车载嵌入式开发】AutoSar架构入门介绍篇
  • 【计算机视觉 | 目标检测】DETR风格的目标检测框架解读