`

du与df查看已使用空间不一致的原因及解决办法

阅读更多

在linux系统上有时发现使用df 查看磁盘已使用空间和使用du统计的不相等,例如:

[running]root@slave11:/$ df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/sda1             9.9G  4.0G  5.4G  43% /

/dev/sda3              20G  1.4G   18G   8% /usr/local

/dev/sda4             244G  215G   17G  93% /data

tmpfs                  32G   52K   32G   1% /dev/shm

/dev/sdb1             9.9G  151M  9.2G   2% /data1

 

[running]root@slave11:/data$ du -sh

182G    .

 

从这里面可以看出通过du看到使用了182G,但是通过df 看,/data目录已使用215G,这是什么原因呢?

 

先讲du和df原理

 

du的工作原理

du命令会对待统计文件逐个调用fstat这个系统调用,获取文件大小。它的数据是基于文件获取的,所以有很大的灵活性,不一定非要针对一个分区,可以跨越多个分区操作。如果针对的目录中文件很多,du速度就会很慢了。

 

df命令使用的事statfs这个系统调用,直接读取分区的超级块信息获取分区使用情况。它的数据是基于分区元数据的,所以只能针对整个分区。由于df直接读取超级块,所以运行速度不受文件多少影响。

 

 

原因有两个:

1、硬盘本来有保留空间,可以通过tune2fs -r 40000 /dev/sda4进行设置

 

2、已经被删掉的文件还有程序在占用,所以文件没被真正释放

 

针对第二种原因,可以通过如下步骤验证查看及释放空间

 

1、lsof |grep deleted > deleted_file查看有哪些未被释放的文件

 

2、排序看最大的未被释放的文件大小,命令:sort -nr -k 7 deleted_file>sort_deleted_file

 

3、more sort_deleted_file 查看前面那些文件,将占用空间大的程序kill掉

kill 进程号

 

注:lsof以root执行才能查全,lsof使用说明:

http://daizj.iteye.com/blog/2295148

 

 

 

 

 

分享到:
评论

相关推荐

    磁盘满了,为啥du却显示还有很大空间

    磁盘空间管理是 Linux 系统中一个非常重要的主题,我们需要了解 du、df 和 lsof 命令的使用方法,并掌握磁盘空间管理技巧。只有通过正确的方法来管理磁盘空间,我们才能避免磁盘空间不足的问题。

    linux-du-df.rar_linux du

    然而,在实际使用中,有时可能会遇到`du`和`df`显示的硬盘空间使用量不一致的情况。这通常是由于它们统计磁盘空间的方式不同所导致的。下面将详细介绍这两个命令的用途、工作原理以及如何解决它们之间可能出现的差异...

    Linux系统磁盘空间满了排查大文件的方法.docx

    可以使用`df`命令查看整体磁盘空间使用状况,或者设置监控脚本和告警,当磁盘空间达到一定阈值时发出提醒。 总之,排查和处理Linux系统磁盘空间满的问题,主要依赖于`du`和`df`等命令,以及合理地管理和清理文件。...

    linux磁盘空间不足怎么办磁盘清理方法

    使用 `#df -i /home` 命令查看空间文件系统的 inodes 消耗情况,如果还有大量的 inodes 可用,说明大文件占用空间,否则可能大量小文件占用空间。 3. 找出占用空间较大的目录 使用 `#du -hs /home` 命令查看 `/...

    aix里面怎么查看实际的磁盘空间

    根据提供的内容,本文将详细介绍在AIX中查看磁盘空间的各种方法,并解释每种命令的具体含义。 #### 使用`lspv`命令查看物理卷(PV) - **命令格式**:`lspv [hdisk#]` - `lspv`:列出所有物理卷的信息。 - `lspv...

    linux磁盘空间不足怎么办,磁盘清理方法.docx

    Linux磁盘空间不足解决方法 Linux 系统中磁盘空间不足是经常遇到的问题,可能是由于安装系统设计不合理、分区太小、网络通讯故障等原因造成的。以下是解决 Linux 磁盘空间不足的十招: 1. 定期对重要文件系统扫描...

    Linux 根目录爆满 解决命令方法.doc

    二、使用 df -h 命令查看根目录剩余空间 使用 df -h 命令可以查看 Linux 系统中各个文件系统的使用情况,包括根目录。从输出结果中可以看到根目录的剩余空间情况,如果根目录的剩余空间为 0 或接近 0,则表示根目录...

    磁盘空间不足怎么办,linux磁盘清理方法

    ### 磁盘空间不足的Linux清理方法 在日常运维工作中,经常会遇到因磁盘空间不足而导致系统性能下降甚至服务中断的问题。对于Linux系统来说,合理地管理磁盘空间不仅能够提升系统的稳定性和效率,还能避免紧急情况下...

    AIX之文件系统使用率高查询思路.docx

    如果发现某个目录(如`rman_sodb`)占用空间较大,可以使用`ls -l`查看其包含的文件,以确定哪个文件是导致空间紧张的原因。若发现大文件无须保留,可考虑备份或删除,以减少文件系统占用。 使用`lslv lvname`命令...

    Linux实验报告-实验一.docx

    9. 使用df查看磁盘空间使用情况。 10. 使用du查看工作目录占用的空间。 11. 使用free查看内存资源使用情况。 【实验知识点】 1. **Linux登录**:通过telnet或SSH等方式远程登录Linux服务器,创建和管理用户账户。 ...

    IBM AIX系统文件系统空间管理

    其他检查技巧包括使用`df`和`du`命令来监测文件系统的整体和具体目录的使用情况,以及使用`fs_usage`工具分析文件系统活动,找出占用空间增长快的程序或服务。监控`/var/spool`目录,因为打印队列和其他队列服务可能...

    aix常见问题汇总

    - `df`(disk free):显示文件系统的整体磁盘空间使用情况,包括总空间、已用空间和剩余空间。 #### 九、卷组设备文件丢失导致无法 varyon 当卷组设备文件丢失时,可能会导致无法使用 `varyon` 命令激活卷组。...

    unix系统常见问题文档

    - **df**: 查看磁盘空间使用情况,如`df -h`以人类易读的方式显示。 - **du**: 显示目录或文件占用的空间大小,如`du -sh /home`显示/home目录占用的空间大小。 - **ps**: 查看正在运行的进程信息,如`ps aux`显示...

    ubuntu下磁盘空间不足导致mysql无法启动的解决方法

    如果`df /var`命令显示`/var`分区的可用空间为0%,那么这就是MySQL无法启动的原因。在这种情况下,你需要清理该分区上的空间。这可能包括删除日志文件、清理缓存、移除无用的软件包,甚至可能需要清理MySQL的数据...

    [全]运维工程师应聘面试题总结.docx

    主要涉及Linux系统的运维相关知识点,包括但不限于Linux系统启动流程、Linux文件类型、如何将程序设置为开机自启动、LVM(Logical Volume Manager)及其应用、du与df统计结果差异的原因以及内核升级的方法。...

    湖南麒麟系统下,因某些原因无法正常进入系统时可以进入单用户模式

    - 使用`du -sh *`命令查看每个目录占用的空间大小。 - 根据需要删除不必要的文件或目录来释放空间。例如,可以安全地删除/var/log/目录下的旧日志文件,使用命令`rm -rf /var/log/*`。 3. **重启系统**: - 完成...

    Linux中出现“No space left on device”错误的排查与解决方法

    可以使用`df`命令来查看磁盘的总空间、已使用空间、剩余空间以及使用率。例如: ```bash # df -h ``` 在这个例子中,`/dev/vda1`分区显示已满,100%使用。然而,通过`du`命令查看各个目录的占用情况,发现总占用并...

    Linux中/var/spool/postfix/maildrop占空间很大的原因解析

    4. **监控磁盘空间**:定期使用`df -hl`查看系统各挂载点的磁盘空间占用情况,及时发现并处理空间不足的问题。另外,可以使用`du -s * | sort -nr | head`显示占用空间最大的文件或目录,以及`du -sh *`遍历目录大小...

    Linux常见问题分析(pdf文档)

    - `df -h`: 查看磁盘空间使用情况。 - `du -sh directory`: 查看目录大小。 - `last`: 查看最近的登录记录。 #### 22. 不同系统文本转换 - **工具**: - `dos2unix`: 转换DOS文本到Unix格式。 - `unix2dos`: ...

Global site tag (gtag.js) - Google Analytics