Linux 下删除了文件,空间为何不释放?

你是否碰见过 Linux 环境下,文件已经删除,但是空间未被释放的情况?这篇小文就会介绍一下,这种问题的一个场景,以及相应的解决方案。

操作方法

  • 01

    我们的一台应用服务器,操作系统是 Red Hat Linux,监控报警,/opt/applog文件系统使用率超阈值,整体容量为50G,但发现实际文件容量20G,剩下的30G空间是什么?

  • 02

    我们知道,Linux 环境下,任何事物,都是以文件的形式存在,系统在后台,为每个应用程序,分配了一个文件描述符,他为应用程序和操作系统之间的交互操作提供了通用的接口,既然是文件,就会占用空间,此时可以使用 lsof 指令,他可以列出,当前系统正在打开的文件。 >lsof COMMAND      PID      USER   FD      TYPE    DEVICE  SIZE/OFF      NODE NAME ... filebeat  111442   app  1r      REG     253,3 209715229   1040407 /opt/applog/E.20171016.info.012.log filebeat  111442   app  2r      REG     253,3 209715254    385080 /opt/applog/E.20171015.info.001.log (deleted) ...

  • 03

    表头各字段,含义如下: COMMAND:进程的名称PID:进程标识符USER:进程所有者FD:文件描述符,应用程序通过文件描述符识别该文件。如cwd、txt等TYPE:文件类型,如DIR、REG等DEVICE:指定磁盘的名称SIZE:文件的大小NODE:索引节点(文件在磁盘上的标识)NAME:打开文件的确切名称

  • 04

    可以看出,有一些行中,NAME标识了(deleted) /opt/applog/E.20171015.info.001.log (deleted) 他的含义,就是这文件已被删除,但打开文件的句柄,并未关闭,再看 COMMAND 的名称是 filebeat,USER 进程所有者是 app,这是我们的日志采集进程,app 用户开启了 filebeat 进程。

  • 05

    插播一下日志采集平台 传统的开源日志平台,即 ELK,由 ElasticSearch、Logstash 和 Kiabana 三个开源工具组成,其中: Elasticsearch 是个开源分布式搜索引擎,分布式,更多内容请参考《Liпux就该这么学》!零配置,自动发现,索引自动分片,索引副本机制,restful 风格接口,多数据源,自动搜索负载等。 Logstash 是一个开源的采集工具,他可以对日志进行收集、过滤,并将其存储供以后使用。 Kibana 是一个开源的图形 Web 工具,可以为 Logstash 和 ElasticSearch 提供日志分析友好的 Web 界面,可以汇总、分析和搜索重要数据日志。 常见的部署图,如下所示

(0)

相关推荐

  • Linux下删除文件之彻底删除文件(shred)

    linux删除目录很简单,很多人还是习惯用rmdir,不过一旦目录非空,就陷入深深的苦恼之中,现在使用rm -rf命令即可。 直接rm就可以了,不过要加两个参数-rf 即:rm -rf 目录名字 删除 ...

  • Linux下删除文件下彻底删除文件

    在linux中删除文件与文件夹我们可以直接使用rm就可以删除了,彻底删除文件或文件夹我们可以使用shred命令来完成,下面我给大家介绍介绍。 Linux删除文件夹命令 linux删除目录很简单,很多人 ...

  • Linux下的链接文件详解

    几个基本概念 Linux下的链接文件可以分为硬链接(hard link)与软链接(soft link).要理解它们,必须先要理解几个基本概念. inode 文件除了纯数据本身之外,还必须包含有对这些纯 ...

  • linux下删除乱码文件名的方法

    linux下删除乱码文件名, 不废话: 1. ls -i 列出文件的节点ID, 如: 123456789 2. find ./ -inum 123456789 -print -exec rm -rf ...

  • Linux下删除大数据文件中部分字段重复行的方法

    最近写的一个数据采集程序生成了一个含有1千多万行数据的文件,数据由4个字段组成,按照要求需要删除第二个字段重复的行,找来找去linux下也没找到合适的工具,sed/gawk等流处理工具只能针对一行一行 ...

  • Linux下删除乱码或特殊字符文件

    此内容介绍了如何在Linux中删除那些乱码或者带有特殊字符的文件,文章中涉及到的基础Linux命令请参考<Linux就该这么学>这本书的介绍. 操作方法 01 今天遇到一个问题,一个文件名 ...

  • Linux下查看指定文件夹和文件的大小

    df命令:查看目前所有文件系统的可用空间及使用情况 df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力 复制代码 代码如下: df -lh 参数 -h 表示使用「Human- ...

  • Linux下如何对文件进行权限保护以防止文件被人改动

    在Linux系统操作中,为了防止文件被人改动,可以将文件进行权限保护,那么具体要如何做呢?下面小编就给大家介绍下Linux下对文件进行权限保护的方法,一起来学习下吧。 在管理Linux系统的过程中,对 ...

  • Mac系统下删除加锁文件方法

    在Mac OS X下,无法删除的文件无外乎三种情况:1,文件(夹)被锁定;2,文件正在使用中;3,没 有权限的文件(夹)。加锁的文件或文件夹图标下有小锁的标注,可以避免文件不慎被更改、移动或删除,一般 ...