美文网首页
Linux 磁盘空间没释放(df,du查看不一致)

Linux 磁盘空间没释放(df,du查看不一致)

作者: DongGuangqing | 来源:发表于2020-11-09 23:31 被阅读0次

最近线上值班的时候经常发现使用df命令查看磁盘空间快满, 但使用du命令找不到实际大文件的问题。

在此先记录一下排查及其解决方法:

  1. 用df 检查发现/根目录可用空间为0
[root@/]#df -h
  1. 用du检查发现各目录占用的空间都很少,空间莫名其妙地不见了.
[root@/]# du -m –max-depth=1 |sort -gr
  1. 用lsof检查后才发现原因是,有文件被删除,而进程还活着,因而造成还占用空间的现象
[root@/]# lsof +L1 |grep delete

根据lsof列出的进程号,kill这些进程后,空间就释放出来了.

原因解释

linux里的文件被删除后,空间没有被释放是因为在Linux系统中,通过rm或者文件管理器删除文件将会从文件系统的目录结构上解除链接(unlink)。然而如果文件是被打开的(有一个进程正在使用),那么进程将仍然可以读取该文件,磁盘空间也一直被占用。

此时文件被标记为被删除(状态为deleted),但该文件并没有从磁盘中删除,类似windows下的回收站状态。

使用du查看时,因为没有该删除状态文件的节点信息,所以就不做统计,从而导致与df的结果不一致。

若要将deleted状态文件删除,则根据pid直接kill调相应进程即可。

相关文章

  • du和df统计的磁盘分区大小不一致

    Linux下查看磁盘空间使用情况,最常使用的是du和df。有一次du和df统计的磁盘分区大小不一致,这是为什么呢?...

  • linux 下查看文件占用空间

    1.linux 下查看磁盘空间 df -h2.linux 下查看文件占用空间 du3.linux 下查找相应大小文...

  • Linux 查看磁盘空间

    Linux 查看磁盘空间可以使用 df 和 du 命令。 参考内容 引用原文 : https://www.runo...

  • Linux 磁盘空间没释放(df,du查看不一致)

    最近线上值班的时候经常发现使用df命令查看磁盘空间快满, 但使用du命令找不到实际大文件的问题。 在此先记录一下排...

  • Linux查看磁盘空间(df, du)

    以下命令可以查看磁盘各分区大小、已用空间等信息:df -h以下命令可以查看foo目录的大小:du -sh foo有...

  • linux相关

    linux一些命令查看磁盘空间: df -h查看目录下各文件磁盘占用大小: du -sh *查看进程启动及运行时间...

  • df和du

    查看当前服务器磁盘空间(df和du) df,du区别: df 是从文件系统获取空间大小,当删除了某文件,可能还未被...

  • Linux 查看磁盘空间df和du

    1. df 查看磁盘空间大小 这个命令是查看磁盘各个分区的空间大小、占用、可用等信息。在任意一个目录下输入df:F...

  • Linux磁盘挂载(分区、格式化、挂载)

    Linux磁盘管理常用三个命令为df、du和fdisk。 df:列出文件系统的整体磁盘使用量。 du:检查磁盘空间...

  • linux常用命令

    磁盘空间 查看磁盘分区大小、已用空间等信息 df -h 查看目录大小 du -sh directory 查看端口占...

网友评论

      本文标题:Linux 磁盘空间没释放(df,du查看不一致)

      本文链接:https://www.haomeiwen.com/subject/olirbktx.html