我无法在我的电脑上访问 ubuntu 系统,错误消息:“系统正在低图形模式下运行”,我尝试了一些从互联网上搜索的命令。
我发现一个问题,似乎没有可用的磁盘空间。我用“ df ”和“ du ”命令查看,结果如下:
du -j --max-depth=1
23G ./home
3.3G ./usr
......
28G
Run Code Online (Sandbox Code Playgroud)
和
df -Th
filesystem Type size used available use% mounted on
/dev/sda5 ext4 68G 68G 0 100% /
Run Code Online (Sandbox Code Playgroud)
我将如何清理系统以获得更多磁盘空间?
Dmi*_*rov 57
您很可能知道您可以删除某个应用程序仍在使用的文件,并且对于该应用程序它仍然可用。这是因为 /proc/ 文件系统中的文件描述符保持打开状态。
因此,如果已经删除的文件有这样的打开描述符,它们占用的空间被认为是df
(并且df
是正确的),但是du
由于不再有与它们关联的文件名,因此无法将它们考虑在内。
您可以使用以下命令找到所有未链接但保持打开的文件:
# lsof | grep '(deleted)'
Run Code Online (Sandbox Code Playgroud)
小智 17
如何删除链接?– 维卡斯·哈迪亚 14 年 8 月 22 日,5:46
您必须找到持有文件句柄的进程。使用 Dmitry Alexandrov 的命令,在那里您可以看到进程和 pid。在我们的例子中,“旧”清漆日志文件是空间杀手。
# lsof | grep '(deleted)'
[...]
varnishlo 13978 varnishlog 3w REG 252,1 318448027646 5926973 /var/log/varnish/varnish.log.1 (deleted)
apache2 16801 www-data 2w REG 252,1 64550 13110120 /var/log/apache2/error.log.1 (deleted)
[...]
# service varnishlog stop
[or if there is no service script]
# kill -11 13978 (the second number of the lsof command is the pid)
[or may be]
# kill -9 13978
Run Code Online (Sandbox Code Playgroud)
如果它是您计算机上的恶魔或其他服务,请不要忘记再次启动该服务或进程。如果可以,只需重新启动计算机;)
Bra*_*iam 12
好的,让我们检查一下手册页:
df - 报告文件系统磁盘空间使用情况
和
du -估计文件空间使用情况
这两个工具用于不同的提议。whiledf
是显示文件系统使用情况,du
是报告文件空间使用情况。du
从文件df
工作,同时在文件系统级别工作,报告内核所说的可用内容。继续阅读手册du
页支持这一点:
总结每个FILE 的磁盘使用情况,递归地用于目录。
它说du
适用于文件。
df
显示包含每个文件名参数的文件系统上的可用磁盘空间量。如果没有给出文件名,则显示所有当前安装的文件系统上的可用空间。
这里说不df
关心文件,而是关心文件系统本身。
df
Run Code Online (Sandbox Code Playgroud)
总结可用磁盘空间
它显示可用磁盘空间量。
du
Run Code Online (Sandbox Code Playgroud)
总结磁盘使用情况。
它显示已使用的磁盘空间量。
小智 1
简单地说:
您在没有 root 权限的情况下运行du
。因此它无法检查 、 等文件夹中的可用/proc
空间/mnt
。
df
分别显示总已用空间和可用空间。
因此,当您检查 Linux 根文件系统时,请以du
报告为准。