【知识点】NO.1—-关于删除文件后未及时释放磁盘空间问题

删除了某些占用大存储的文件,发现占用的磁盘空间并没有的到释放。怎么解决呢?
在工作中经常遇到服务器某个存放日志或者某些数据的磁盘(或者目录),因为检查不及时磁盘存储满了的状况。释放空间真的只是删除文件这么简单吗?nonono…

我们先来模拟一下演示环境

首先我们看一下磁盘的存储状况

[root@Centos7 ~]#df     -h       #df   显示每个文件所在的文件系统的信息 。-h以人类易读的类型显示。

文件系统               容量     已用   可用   已用%  挂载点

1

[root@Centos7 ~]#dd if=/dev/zero of=/boot/456 bs=1M count=900

##dd if=/dev/zero of=/boot/456 bs=1M count=900  #通俗点来讲及时批量创建文件内容到/boot/456中。
input  file       output  file    block size       count
输入文件          输出文件 (批次大小) (批次)

2

[root@Centos7 ~]#ll  -h  /boot/456   显示/boot/456的文件的详细信息

4

#通过df -h命令我们看到 /boot目录的使用率已经100%了。

3

下面我们通过常用的命令rm来进行删除

5

删除操作执行成功了,怎么/boot目录的使用率还是100%?难道文件还存在??

6

那我们通过#ll -h /boot来查看一下/boot下的文件列表。是不是很奇怪?文件没有了为什么占用的空间却没有正常的释放!难道系统出问题了?

那怎么办呢?

不要担心,接下来我们来排查一下问题。

因为命令执行没有失败,文件也确实删除掉了。

那么我们来通过lsof命令:来查询一下文件即被打开编辑中同时又被执行了删除操作的文件。

[root@Centos7 ~]#lsof |grep deleted

7

通过查询我们看到最下边的那一条vi编辑着的文件居然就是我们刚刚删除的/boot/456文件,占用的空间居然还是800+M大小。

这就是明明删除了文件,可是存储空间却没有及时释放的原因了。因为文件还在使用中,系统默认是在程序关掉后才会释放空间。我们直接kill杀掉这个进程既可以了。

其实工作中经常遇到这种情况,服务器是很多人都可以访问的,部分文件(例如日志文件等)的访问权限比较低大多数都是开放读写权限的。这就有可能造成一个人在删除日志文件的同时,还有别的同事正打开查看这个日志文件。从而造成空间未及时释放。

[root@Centos7 ~]#kill -9 PID    【PID 即程序运行的ID编号,实验中的编号是3699】

[root@Centos7 ~]#kill -9 3699

8

杀掉该进程后df -h 命令发现空间立刻释放出来了,是不是很神奇呢!

接下来,我们再来介绍另外一种删除释放存储空间的办法。这种方法就不会出现rm删除后可能无法及时释放空间的问题。

首先:我们先来恢复一下上面的实验环境,还是/boot 目录吧

9

环境搭建好了。

接下来开始试验

[root@Centos7 ~]#> /boot/456   #这里我们使用【>】来先清空文件内容。

清空后df -h发现存储空间即刻得到释放了。

10

当然如果文件真的不需要了,在执行rm命令删除即可。

 

后边介绍的这种方法,是不是又简单又实用呢?

不过这两种方法使用的时候要注意文件不要跟错咯,否则删除的文件都是很难恢复的哦!

小伙伴们还有没有别的更好的方法呢?

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/88533

(1)
lvshijunlvshijun
上一篇 2017-11-18
下一篇 2017-11-18

相关推荐

  • linux的一些简单的命令与操作

    1生产环境发现一台服务器系统时间产生偏差,造成服务异常,请帮忙校正。 首先通过hwclock,clock:显示硬件时间,然后通过hwclock –s来以硬件时间为准。校正系统时间。 2生产有一个数据同步脚本需要执行很长时间,怎样做到无人值守,在管理工具退出的情况下,脚本依然能正常运行。 首先看看系统里面按没安装screen,没的话要安装。 安装:首先先把光盘…

    Linux干货 2016-10-19
  • 文件权限

    浅谈文件权限 Linux系统中的每个文件和目录都有访问许可权限,用他来确定谁能通过何种方式对文件和目录进行访问和操作。  文件权限: 文件或目录的访问权限分为只读,只写和可执行三种。  文件的权限主要针对三类对象进行定义:          owne…

    Linux干货 2016-08-07
  • 计算机的组成及其功能

    硬件部分     运算器:对数据进行处理,如基本四则运算和逻辑运算     控制器:协调整个计算机资源的运行,调试各个命令的执行顺序     存储器:数据的保存位置,可分为内存和其它各种非断电丢失的硬盘    …

    Linux干货 2016-10-30
  • linux中bash的基础特性和基本文件管理命令

    linux的文件管理类命令 linux系统下的涉及到目录管理命令,主要有 mkdir,rmdir linux系统下也会用到许多文件查看类命令,包括cat,tac,head,tail,more,less等 linux系统下涉及的文件管理类命令主要有cp,mv,rm 本节我们主要说明文件管理类命令的使用方法。 cp命令的使用方法 首先,cp这个命令的作用是可以复…

    Linux干货 2016-09-26
  • 第10天:程序包,脚本,sed

    http://note.youdao.com/yws/public/redirect/share?id=b9432a76ff1180b42e01f6eb7c9fc90e&type=false

    Linux干货 2016-08-18
  • LVM work!!!

    1、创建一个至少有两个PV组成的大小为20G的名为testvg的VG;要求PE大小为16MB, 而后在卷组中创建大小为5G的逻辑卷testlv;挂载至/users目录.     (1)查看分区大小 [root@localhost ~]# lsblk NAME   MAJ…

    Linux干货 2016-09-01