我的问题是,我认为几天后 rootfs 中将没有可用空间。
是否有可能以某种方式“清除”rootfs中不必要的文件?我应该寻找什么?
Rootfs 被挂载到 md123 RAID1 中。
一般来说,我的系统有以下 FS 分区:
[root@host/]# df -h
Filesystem Size Used Avail Use% Mounted on
rootfs 2.8G 2.6G 75M 98% /
udev 1.5G 4.0K 1.5G 1% /dev
tmpfs 1.5G 0 1.5G 0% /dev/shm
tmpfs 1.5G 444K 1.5G 1% /run
/dev/md123 2.8G 2.6G 75M 98% /
tmpfs 1.5G 0 1.5G 0% /sys/fs/cgroup
tmpfs 1.5G 0 1.5G 0% /media
/dev/md124 772M 36M 697M 5% /boot
/dev/md122 184G 61G 114G 35% /home
/dev/md126 7.4G 1.9G 5.1G 28% /var/lib/mysql
/dev/md120 1.9G 134M 1.7G 8% /tmp
/dev/md121 276G 139G 123G 53% /home2
/dev/md125 20G 8.3G 11G 46% /h1
/dev/md119 2.7T 480G 2.1T 19% /backup
答案1
我认为您必须找到正在增长的文件,然后检查是否仍然需要它们。通常是首先要查看的地方/var/log
,因为所有日志文件都在那里并且可能会增长。
对我来说,通常非常有用的一件事是du
命令的 --max-depth 参数。因为这样我就可以比较一个目录的所有子目录。例如,如果您想查看所有子目录的大小/var/log
相互比较。您可以执行以下操作:
cd /var/log
du -h --max-depth=1
这样,它会计算所有子目录中文件的大小并列出每个子目录的总数。
此外,ls -lhaS
它也非常有用。它列出当前目录中的所有文件,并按大小排序。例如,您还可以检查:
cd /var/log
ls -lhaS | more
查看里面最大的文件/var/log
顺便说一句。2.8G 对于根分区来说相当小。如果你没有密切监控你的服务,很容易意外地填满这个空间。
答案2
首先du -x --max-depth=1 / | sort -nr
了解分区中哪些顶层文件夹占用了最多的空间,然后开始逐层查找文件夹,直到找到占用空间最大的文件夹。
/var/log
就像 mauro 提到的那样,这是一个常见的问题,但/usr
它们/var
本身也可能会受到一些膨胀的影响。我通常会创建一个单独的/usr
分区并将副本/符号链接/var
到其中。