df也找不到的消失的磁盘空间

当df与du显示的磁盘使用空间不符时,可能是由于文件删除后仍有进程使用导致空间未释放,或已存在文件的目录被用作挂载点。解决方法包括查找并终止使用被删除文件的进程,以及检查挂载点是否覆盖原有文件。通过umount和重新挂载,可以恢复丢失的磁盘空间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        作为运维,磁盘使用率这种监控应该是再熟悉不过的了。

        常见处理方法也很简单,登录服务器清理下下历史数据,释放空间就可以了。

        然而,有时问题也并不那么容易解决QAQ。

        有时会发现df查看的磁盘使用空间和用du列出来的使用空间对不上,导致不知如何清理空间,本文会详细讲解出现这种情况的原因和处理方法。

1、文件删除后空间未释放

        这是因为文件删除后,如果还有进程在使用这个文件,这个文件只会将其标注为delete状态,并不会真正释放空间。出现这种情况较多的一般是日志文件(所以按天分日志很重要,不要一直写一个日志文件)。

        只有把所有使用这个文件的进程杀掉,这个文件才会真正被删除,空间也才会释放。

        如当前根目录空间使用率是88%,我们发现真实使用的并没有这么多,就可以看看是不是有根目录下的delete状态的大文件

        第一步:找到处于delete状态的较大的文件,以及使用进程

lsof  |grep -i  delete  |sort -nrk7 |head |awk 'BEGIN{print "file-size","PID","system"}{print $7/1024/1024"M",$2,$9}' | column -t

    第二步:

        评估后杀掉进程

            kill -9 5645

        这时在此df查看  可以看到空间已经被释放出来了

2、已有文件的目录被当做挂载点,导致文件不可见

         挂载分区,是需要一个已有目录作为挂载点的。

        正常应该是要新增一个目录,或者找一个空目录去作为挂载点。

        但偶尔也会出现用已有目录作为挂载点,并且目录下本身就有文件的情况,这个时候进行挂载分区,目录下原本的那些文件就不可见了。也就相当于这部分磁盘空间 “丢失”。

        如下面这种情况:

        已有目录 /work,且下面有一个1.9G的文件,当前根目录使用了13G。

        

         这时候我们用 /work 目录作为挂载点进行分区挂载,挂载后可以看到原本的/work 目录下的文件已经不可见了,而根目录依然是使用了13G,就像是丢失了1.9G的磁盘空间。

    这里有个知识点:

    将两个文件系统挂载在一个目录下,linux就会将最近一次挂载的文件系统可见,之前的文件系统将被遮盖,东西还在,但是看不到。

    可以用  monut | grep "目录名"  查看当前这个目录可见的文件系统是哪一个。

         出现这种情况,一般将挂载的分区先umount,然后对原有的文件系统中的文件进行处理之后,再重新挂载上就好了,如下:

            umount /work   卸载/work 目录挂载的分区

            将/work 下面文件删除

            mount /dev/vda3  /work  重新挂载分区

        这个时候再看,根目录使用空间变为了11G,空间被释放了

 以上内容转自 龙叔运维  仅作笔记之用  侵权必删

Vivado2023是一款集成开发环境软件,用于设计和验证FPGA(现场可编程门阵列)和可编程逻辑器件。对于使用Vivado2023的用户来说,license是必不可少的。 Vivado2023的license是一种许可证,用于授权用户合法使用该软件。许可证分为多种类型,包括评估许可证、开发许可证和节点许可证等。每种许可证都有不同的使用条件和功能。 评估许可证是免费提供的,让用户可以在一段时间内试用Vivado2023的全部功能。用户可以使用这个许可证来了解软件的性能和特点,对于初学者和小规模项目来说是一个很好的选择。但是,使用评估许可证的用户在使用期限过后需要购买正式的许可证才能继续使用软件。 开发许可证是付费的,可以永久使用Vivado2023的全部功能。这种许可证适用于需要长期使用Vivado2023进行开发的用户,通常是专业的FPGA设计师或工程师。购买开发许可证可以享受Vivado2023的技术支持和更新服务,确保软件始终保持最新的版本和功能。 节点许可证是用于多设备或分布式设计的许可证,可以在多个计算机上安装Vivado2023,并共享使用。节点许可证适用于大规模项目或需要多个处理节点进行设计的用户,可以提高工作效率和资源利用率。 总之,Vivado2023 license是用户在使用Vivado2023时必须考虑的问题。用户可以根据自己的需求选择合适的许可证类型,以便获取最佳的软件使用体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值