我想知道我的 VPS 的磁盘空间,虽然文件夹du
工作正常
$ du -sh /home/
325M /var/
Run Code Online (Sandbox Code Playgroud)
但是试图获得整个 vps 给了我这个结果。
[root@user/]# du -sh
du: cannot access `./proc/18097/task/18097/fd/4': No such file or directory
du: cannot access `./proc/18097/task/18097/fdinfo/4': No such file or directory
du: cannot access `./proc/18097/fd/4': No such file or directory
du: cannot access `./proc/18097/fdinfo/4': No such file or directory
1.3G .
Run Code Online (Sandbox Code Playgroud)
我假设1.3G是空间,但为什么会发生错误?我如何解决它?
你不需要修复它 - 它没有坏。这些是对内核文件对象不可用的引用du
- 这是涉及文件描述符的常见竞争条件。那些无论如何都不会/proc
消耗空间(就此而言也不会),因为它们不在磁盘上——它们只是对内核文件描述符的临时引用。他们要么引用匿名管道/套接字——因此不能,stat
因为它们没有文件名——或者在du
注意到它们的时间和它尝试stat
它们的时间之间,它们要么已经不复存在,要么du
从未有过这样做的权限。地方。它们很可能du
是自己的文件描述符。
但是,您的命令可能存在问题,因为它解决了多个文件系统挂载问题。这可能不是您的意图,因此您可以使用:
du -shx
Run Code Online (Sandbox Code Playgroud)
...仅处理当前工作目录的根安装上存在的文件。因为它/proc
是一个完全属于它自己的文件系统,并且单独安装以/
运行该文件系统/
将排除/proc
和所有其他不属于的文件系统。
否则,如果你确实想要多个文件系统挂载的列表,你可以这样做:
du -sh 2>/dev/null
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
12712 次 |
最近记录: |