我有一台 Ubuntu 机器,版本 14.04,运行在 AWS (EC2) 上。昨天,我的磁盘空间用完了。以 root 用户身份运行
df -h
得出这个结果:
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 148G 142G 106M 100% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 3.7G 8.0K 3.7G 1% /dev
tmpfs 748M 332K 748M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 3.7G 0 3.7G 0% /run/shm
none 100M 0 100M 0% /run/user
overflow 1.0M 32K 992K 4% /tmp
但运行这个命令:
du -ch /
给出了这个结果:
....
1.5G /
1.5G total
重启后结果保存了。今天早上,当我回到办公室,没有人碰过机器(也没有批处理任务或写入和/或删除文件的进程)时,我再次运行命令。我得到了:
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 148G 1.6G 140G 2% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 3.7G 8.0K 3.7G 1% /dev
tmpfs 748M 332K 748M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 3.7G 0 3.7G 0% /run/shm
none 100M 0 100M 0% /run/user
overflow 1.0M 32K 992K 4% /tmp
这更有意义。
有人可以解释为什么会发生这种情况吗?为什么一晚之后车位就空了?
请注意,我发现已使用的磁盘空间稳步增长。这是第三次发生。
答案1
这只是一个故障/错误。
一个可能的原因是临时文件/文件夹/目录占用了大量空间,但尚未清除。早上检查时,发现某个进程清除了临时空间。
没什么可担心的,可能只是系统出现故障。
根据您所说的这是一次“黑客攻击”,这可能是最好的答案。在黑客攻击过程中,出现了一些故障或错误。也可能只是大量的临时文件(比如内存溢出)。从长远来看,没什么可担心的。
答案2
您是唯一可以登录此邮箱的人吗?
我问这个问题的原因是,你正在运行一个生成大量日志文件或其他文件的应用程序(例如,在应用程序中打开调试选项,它会很快填满空间)。然后你团队中的一个人直接删除了该文件,但空间并没有释放,直到你重新启动应用程序或重新启动机器。
你觉得这有意义吗?
答案3
我猜你已经删除了文件但它们仍然被某些程序打开。
类似于 nginx access.log 文件。您可以删除它,但如果 nginx 未轮换或重新启动。该文件将保留。
尝试查找所有已删除但仍打开的文件。
sudo lsof | grep '(deleted)'
如果发现标记为“(已删除)”的文件,只需使用该文件重新启动程序。