在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
相关推荐
CentOS中du和df 的区别
linux下,发现 du、df 硬盘空间不同,介绍了相关的解决方法
Linux 基础 83-系统信息-03-df和du查看磁盘和目录空间占用.flv
但是与df命令不同的是du命令是对文件和目录磁盘使用的空间的查看,而不是某个分区。 语法格式:du [参数] [文件] 常用参数: -a 显示目录中所有文件大小 -k 以KB为单位显示文件大小 -m 以MB为单位...
df du命令详细解释 文件大小 系统管理员需理解的一些关键东西
• du:disk usage • df:disk free • lsof:list open files • echo "" > access.log
但是与df命令不同的是du命令是对文件和目录磁盘使用的空间的查看,而不是某个分区。 语法 du 【选项】 【参数】 选项 -a或-all:显示目录中个别文件的大小。 -b或-bytes:显示目录或文件大小时,以byte为单位。 ...
linux du命令查看文件大小,配合awk会更强大
详细介绍了光敏三极管3DU5的使用,具有参考价值
dudu1.12
DUDU搜索代码引擎
dudu570注册码:79887407.sis
试题库dudu.pdf
查看windows文件夹的大小 类似linux du 类似linux du
一、df显示文件系统的使用情况,与du比?,是更全盘化。 经常使用的是 df -T,显示文件系统的使用情况并显示文件系统的类型。 举比例如以下: [root@localhost ~]# df -T Filesystem Type 1K-blocks ...
这种情况下,通过df和du命令查找的磁盘空间,两者是无法匹配的,可能df显示磁盘100%,而du查找目录的磁盘容量占用却很小。 遇到这种情况,基本可以断定是某些大文件被某些程序占用了,并且这些大文件已经被删除了,...
dudu下载加速器是一款下载速度极快、使用简单、界面简洁的下载工具,采用P2P技术,帮你快速下载你需要下载的文件,让你无需等待,节约时间,需要的朋友欢迎前来下载使用! 软件简介: DuDu下载加速器,也叫DuDu...
用户使用DuDu下载加速器后,在下载任何网站的文件时,并不直接从目标网站的服务器下载,而是通过用户的机器向目录服务器发起查询,再被分配到那些速度最快、距离最近甚至是本网段内的已经下载过该文件的用户那里获得...
Windows系统环境查看磁盘使用情况—DU工具
风力发电机专用翼型DU翼型系列中DU40翼型的坐标数据。