0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux系统不停的报磁盘已满应该如何处理

Wildesbeast 来源:21IC 作者:21IC 2020-06-27 09:35 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

各位小伙伴,以下是我的一些处理方法,与大家共享。

今天上传了一个13kb的文件,提示磁盘已满,不能上传。df -h 查了一下,如下图:

磁盘慢了

由于是开发环境,堆满了大量的日志没删,10g了,于是我删除了一些很久的日志,8g。奇怪的事情发生了,命令查看磁盘,依然是100%。linux还是跟windows区别挺大的么,windows我们删除了文件,马上就有磁盘释放了。想到的就是删除的文件并不能释放出磁盘(当时只是猜测),于是lsof | grep deleted 查了一下。

果断地把这些进程都kill掉了,哎呦喂,奇迹发生了,df -h 查看:

已经从100%降到了13%。问题解决了,于是找度娘查了下linux删除的机制,大致如下:

一个文件在文件系统中的存放分为两个部分:数据部分和指针部分,指针位于文件系统的meta-data中,数据被删除后(例如我们的日志文件),这个指针就从meta-data中清除了,而数据部分存储在磁盘中,数据对应的指针从meta-data中清除后,文件数据部分占用的空间就可以被覆盖并写入新的内容,之所以出现删除log文件后,空间还没释放,就是因为httpd进程还在一直向这个文件写入内容,导致虽然删除了log文件,但文件对应的指针部分由于进程锁定,并未从meta-data中清除,而由于指针并未被删除,那么系统内核就认为文件并未被删除,因此通过df命令查询空间并未释放也就不足为奇了。一般说来不会出现删除文件后空间不释放的情况,但是也存在例外,比如文件被进程锁定,或者有进程一直在向这个文件写数据等等,要理解这个问题,就需要知道Linux下文件的存储机制和存储结构。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    88

    文章

    11628

    浏览量

    218005
  • WINDOWS
    +关注

    关注

    4

    文章

    3697

    浏览量

    93238
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Stduio使用wifi模块出错如何处理

    外设为潘多拉IOT开发板,使用Stduio配置了wifi框架,但是代码里在配置wifi模式时,没有找到wlan0这个设备,wifi整个功能也用不了,请问应该何处理。使用正点原子资料包里的rtthread测试demo,wifi工作正常,wifi模块硬件没有问题。
    发表于 10-10 08:18

    在M480系列中,GPIO配置为准双向模组时,如何处理功耗过大?

    在M480系列中,GPIO配置为准双向模组时,用户应该何处理功耗过大?
    发表于 08-28 08:05

    静力水准仪在测量过程中遇到误差如何处理?

    静力水准仪在测量过程中遇到误差如何处理?静力水准仪在工程沉降监测中出现数据偏差时,需采取系统处理措施。根据实际工况,误差主要源于环境干扰、设备状态、安装缺陷及操作不当四类因素,需针对性解决。静力
    的头像 发表于 08-14 13:01 585次阅读
    静力水准仪在测量过程中遇到误差如<b class='flag-5'>何处理</b>?

    企业级Linux磁盘维护的完整流程

    在企业级Linux环境中,磁盘故障是导致系统宕机和数据丢失的主要原因之一。据统计,超过70%的企业级服务器故障与存储系统相关。作为运维工程师,掌握完整的
    的头像 发表于 07-23 16:59 621次阅读

    Linux系统环境监测终极指南

    Linux系统环境主要监测CPU、内存、磁盘I/O和网络流量。
    的头像 发表于 06-25 14:41 559次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>系统</b>环境监测终极指南

    飞凌嵌入式ElfBoard ELF 1板卡-文件系统常用命令之磁盘管理与维护常用命令

    一、df:查看系统已用空间df命令,用于显示linux系统中各文件系统的硬盘使用情况。包括文件系统所在硬盘分区的总容量、已使用的容量、剩余容
    发表于 06-24 11:26

    Linux系统磁盘分区与挂载详解

    磁盘分区是将物理硬盘划分为不同的逻辑部分,每个分区都可以被视为一个独立的存储设备。通过磁盘分区,我们可以更好地管理磁盘空间,实现数据的组织和隔离。
    的头像 发表于 06-17 15:08 2052次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>系统</b>中<b class='flag-5'>磁盘</b>分区与挂载详解

    ups电源—UPS电源蜂鸣不停这样搞定

    UPS电源发出持续蜂鸣声通常意味着电源系统存在某种故障或异常情况,需要立即采取措施进行处理。那么,如果遇到UPS电源发出持续蜂鸣声的情况如何处理
    的头像 发表于 06-09 10:25 1797次阅读
    ups电源—UPS电源蜂鸣<b class='flag-5'>不停</b>这样搞定

    linux磁盘分区的三种场景

    我这里磁盘是标准分区方式,有的是lvm逻辑卷,创建虚拟机的时候选择的。
    的头像 发表于 05-24 15:18 502次阅读
    <b class='flag-5'>linux</b><b class='flag-5'>磁盘</b>分区的三种场景

    STM32WLE5CBU6在待机模式下使用频率校准命令失败如何处理

    STM32WLE5CBU6在待机模式下使用频率校准命令失败,用get_error命令获取信息发现HSE32启动失败,进而导致校准失败,应该何处理
    发表于 03-07 07:06

    VMWare Linux系统磁盘扩容

    当我们在VMware Linux虚拟机安装软件的时候,发现磁盘不够了,可以考虑给磁盘扩容,而不是重建虚拟机。
    的头像 发表于 02-17 14:01 1145次阅读
    VMWare <b class='flag-5'>Linux</b><b class='flag-5'>系统</b><b class='flag-5'>磁盘</b>扩容

    不停的malloc程序会异常吗

    用完,程序应该会异常退出。 于是我找了个环境,把程序运行起来试下。 先用虚拟机,跑的一个 32 位的红帽系统,程序运行起来,好像只是一个普通的死循环,半天也没见他退出,而且程序也不卡顿。 看下进程的内存使用情况,数值一直都没变。 应该
    的头像 发表于 01-14 09:17 845次阅读

    在msm8909平台使用sn65dsi83,打开视频数据后,会不停中断,怎么解决?

    我在高通msm8909平台使用sn65dsi83这颗IC,在写完寄存器参数,PLL_LOCK后,读取0xE5的值为0x31,enable IC 的 SW_IRQ,打开视频数据后,会不停中断,读取到的0xE5的值为0x01,请问出现0x01可能的原因是什么?
    发表于 12-20 11:18

    Linux系统监控I/O问题怎么办

    Linux系统出现了性能问题,一般我们可以通过top、iostat、free、vmstat等命令来查看初步定位问题。其中iostat可以给我们提供丰富的IO状态数据。 一、查询命令基本使用 1、命令
    的头像 发表于 12-18 09:07 975次阅读

    使用DDC112时,只使用其中一个通道,另外一个通道应该何处理

    1.在使用DDC112时,只使用其中一个通道,另外一个通道应该何处理. 2.DDC112可以稳定测量的最小电流为多少. 3.DDC112可以测量的最大负电流为多少?
    发表于 12-11 07:45