美文网首页
linux中df和du查看磁盘大小不一致解决方法

linux中df和du查看磁盘大小不一致解决方法

作者: 索易开发 | 来源:发表于2016-09-16 16:02 被阅读0次

挂了一块50G到/data目录下
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvdb1 50G 46G 1.2G 98% /data
显示已经使用快50G空间了

可是在/data 下用 du -sh . 只显示使用了19G

导致这个两个命令查看磁盘容量不一致的原因是,用户删除了大量的文件被删除后,在文件系统目录中已经不可见了,所以du就不会再统计它。然而如果此时还有运行的进程持有这个已经被删除的文件句柄,那么这个文件就不会真正在磁盘中被删除,分区超级块中的信息也就不会更改,df仍会统计这个被删除的文件。

可通过 lsof命令查询处于deleted状态的文件,被删除的文件在系统中被标记为deleted。如果系统有大量deleted状态的文件,会导致du和df统计结果不一致。    

#lsof |grep deleted       //在opt目录下执行lsof |grep deleted 

解决方法:(来自阿里云)

1、根据lsof列出的pid直接kill相应进程或者重启对应的服务。示例:

kill -9 692

注:如果服务器正在运行业务,kill 会导致进程直接终止,可能会影响到业务,请慎重操作。

2、重启服务器。

重启服务器系统会退出现有的进程,开机后重新加载。该过程会释放调用的deleted文件的句柄。

相关文章

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

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

  • 2017/8/3

    一、Linux查看文件的大小: du -h --max-depth=1 查看磁盘的大小 df -m或者df -k ...

  • linux 下查看文件占用空间

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

  • linux相关

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

  • linux常用命令

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

  • df和du

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

  • linux中df和du查看磁盘大小不一致解决方法

    挂了一块50G到/data目录下df -hFilesystem Size Used Avail Use...

  • 47 df 和 du

    df 用来显示当前的系统磁盘情况。 du 命令显示大小 查看分区挂载

  • linux命令 之 du 命令

    Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查...

  • du命令

    Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查...

网友评论

      本文标题:linux中df和du查看磁盘大小不一致解决方法

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