Linux 查找当前目录大文件,Linux 如何查找大文件

原标题:Linux 如何查找大文件

点击上方 “公众号”可以订阅哦!

近期,频繁发现模块出现大量写日志的问题,且没有日志压缩策略和保留历史文件的策略,导致日志文件大量膨胀,另外还发现一些组件大量写文件(非日志文件),单个文件不大,但是写的文件数量非常大,也导致改组件占用大量的硬盘空间,存在可能耗尽硬盘的隐患。现提供一种手工查询整个系统大文件/目录的方法,在问题没有彻底解决之前,先手工查询出隐患文件,手工清除,防止硬盘空间耗尽,导致系统挂死。

1

ssh到待检查的节点上执行命令:

df –h

命令表示:查询当前节点整体硬盘占用分布的情况

45679af9c789c69e3d391086729f33e6.png

/dev/mapper/vg_sys-lv_root 是系统的根分区,重点需要关注这个大小和使用情况。

如果占用较多(根据各个现场实际情况分析,比如占用超过60%,或者比如实际使用量快100G了),需要分析硬盘被占用的原因。

2

11111b505d2427d8795a0db7c9459f67.png

命令表示:是查找根目录下大于3000M的文件

命令本身还想达到过滤这两个目录的效果,但是根据执行的结果看,似乎并没有过滤掉,不过并不影响我们的分析。

/var/lib/glance/images/ /var/lib/nova/instances/

这个命令可以帮助我们快速把单个的、巨大的文件找出来。

49a739c15c77c8c83a3b624928fa8c54.png

3

下面介绍如何查询单个文件不大,但是文件数量巨大,占用硬盘空间较多的目录:

先切换到根目录

cd /

然后输入

du -h --max-depth=1 |sort -hr

命令表示计算根目录下所有目录的空间占用,并按照占用从大到小的顺序排列。

d5f6e8ee069b8687a41bc0431e475ab3.png

4

如上图,/var目录占用非常大。

cd /var

切换到/var目录下,继续使用 du -h --max-depth=1 |sort -hr

eec09b54f5669be8a67391a50b8785cb.png

5

如上图,lib目录占用非常大。

cd lib

切换到lib目录下,继续使用 du -h --max-depth=1 |sort –hr

e2869163f22ac044ac3481b4ea27abee.png

6

如上图,docker docker-volume glance 目录占用都非常大。

如果熟悉TECS,可以大致了解哪些目录可能占用比较大,忽略一些目录,如果不清楚,就一个一个目录查询一下,大致知道各个目录下面是什么文件后,下次再查询就比较清楚了。

cd glance

切换到glance目录下,继续使用 du -h --max-depth=1 |sort –hr

d46a7f955cc45006ea9c79590629fe22.png

7

查询到最内层目录后,出现 31G . 这样的显示后,就表明大文件就在该目录下。

可以使用

ll –lh

e1497019a773fac0d7de54e8b1f59225.png

就会发现 tempfile 占用了30G,这个就是占用比较大的文件

另外还有就是该目录下可能存在大量的文件,单个文件本身不大,但是数量非常多,导致整个目录下文件占用空间非常大,如果不清楚文件具体的用途,可以查询大大文件后,找开发确认是否是垃圾文件,需要删除。

8

重复到每一个目录下执行 du -h --max-depth=1 |sort –hr

直到把所有发现的比较大的目录全部查询一遍,找出所有占用空间比较大的目录或者文件。

9

对于需要删除的文件,执行命令:(注意使用rm 命令一定要慎重,确认好要删除的东西后再执行)

rm -rf xxx

如下,删除tempfile 文件。

责任编辑:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值