我通常使用 4.4G,这看起来很好,但是可用空间只显示 64G。
root@server ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/simfs 93G 4.4G 69G 7% /
none 1.0G 4.0K 1.0G 1% /dev
我列出了最大的文件,但没有任何变化,也没有任何变化。这个空间可以用在哪里?或者为什么显示可用 69gig
DF 命令显示这一点。
root@ygbmsoqr ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/simfs 97343748 4596200 72132432 6% /
none 1048576 4 1048572 1% /dev
使用以下命令运行文件大小检查。
[root@ygbmsoqr ~]# du -a /var | sort -n -r | head -n 10
3117124 /var
2591808 /var/log
2557268 /var/log/httpd
1659124 /var/log/httpd/access_log
898140 /var/log/httpd/error_log
231372 /var/www
211088 /var/www/Experts-Exchange.com
211080 /var/www/Experts-Exchange.com/public_html
198388 /var/cache
171808 /var/www/Experts-Exchange.com/public_html/wp-content
重启没问题,刚刚重启过。这很奇怪。感谢编辑。
日志文件已轮换,目前大小为 1.6 GB。我只是想知道为什么大型文件不会显示在列表命令中
答案1
这通常是因为有人正在向已删除的打开文件写入数据。该文件仍由相关程序打开,因此仍在占用空间,但由于du
已从文件系统中取消链接,因此无法找到它。重新启动将删除该文件并恢复丢失的空间。
此类问题最常见的根源是向日志文件写入某些内容,这就是我建议您检查的原因/var/log
。如果您知道导致此问题的过程,则重新启动该过程应该可以解决问题,而您无需重新启动机器。
您可以通过执行以下操作自行测试:
mkfifo foobar
while true; cat large_file.txt >> foobar; done
这会反复将 的内容large_file.txt
放入命名管道 中fooabar
。如果您观察df
输出,应该会看到它稳步上升。但是,如果您du
在包含 的目录中运行,foobar
您将看不到任何变化。