linux查询 home所剩空间,df空间占用已满,但du查看home目录空间占用却很少 |
您所在的位置:网站首页 › linux怎么查分区 › linux查询 home所剩空间,df空间占用已满,但du查看home目录空间占用却很少 |
一,背景 一大早研发过来报错,home目录之前分配10G空间,使用率100%,自己先尝试了扩容到50G,今天早上来了发现又100%了。。。 os:Red Hat Enterprise Linux Server release 6.6 (Santiago) 二,问题检测 登录问题服务器,执行命令 df -h,发现/home目录已占满,但是进入home,执行du -s -h发现只使用了1.4G的空间 初步怀疑是删除文件未释放导致的,执行命令 lsof |grep deleted 发现tomcat下的日志文件占用过大。。。。应该是开发人员删除了日志文件,但并未重启服务导致的。 三,解决问题 由于是测试环境,所以直接kill掉了服务,再次查看,空间已释放,目录使用率已恢复正常。 四,小结 脑补一下df du lsof df命令使用的是statfs这个系统调用,直接读取分区的超级块信息获取分区使用情况。它的数据是基于分区元数据的,所以只能针对整个分区。由于df直接读取超级块,所以运行速度不受文件多少影响。 du命令会对待统计文件逐个调用fstat这个系统调用,获取文件大小。它的数据是基于文件获取的,所以有很大的灵活性,不一定非要针对一个分区,可以跨越多个分区操作。如果针对的目录中文件很多,du速度就会很慢了。 lsof全名list opened files,也就是列举系统中已经被打开的文件。我们都知道,Linux环境中,任何事物都是文件,设备是文件,目录是文件,甚至sockets也是文件。所以,用好lsof命令,对日常的Linux管理非常有帮助。 lsof详解见另外一篇文章 https://www.qedev.com/Linux/576.html |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |