如何使用os显示6.5G,但在文件/目录中只能看到3.6G?
在Amazon Linux AMI上以root用户身份运行(看起来像Centos),大量可用的内存,没有交换,没有明显的文件描述符问题。 我唯一能想到的就是一个日志文件,在应用程序附加到它的时候被删除了。
磁盘空间使用量正在缓慢但持续上升,达到最高容量(约1k / min,时间非常短)
任何解释? 解?
du – 最大深度= 1 -h /
1.2G / usr
4.0K / cgroup
22M / lib64
11M / sbin
19M /等
52K / dev
2.1G / var
4.0K /媒体
0 / sys
4.0K / selinux
du:无法访问/proc/14024/task/14024/fd/4': No such file or directory du: cannot access<br/>/ proc / 14024 / task / 14024 / fdinfo / 4':没有这样的文件或目录杜:
无法访问/proc/14024/fd/4': No such file or directory du: cannot<br/> access/ proc / 14024 / fdinfo / 4':没有这样的文件或目录0 / proc
18M /家
4.0K /日志
8.1M / bin
16K /丢失+find
12M / tmp
4.0K / srv
35M / boot
79M / lib
56K /根
67M / opt
4.0K /本地
4.0K / mnt
3.6G /df -h
使用的文件系统大小可用使用%
/ dev / xvda1 7.9G 6.5G 1.4G 84%/ tmpfs 3.7G 0 3.7G 0%/ dev / shmsysctl fs.file-nr fs.file-nr = 864 0 761182
如果已经被删除的文件仍然被进程打开,那么在进程closures文件(或被终止)之前,空间将不会被回收。 如果您无法识别打开文件的进程,那么重新启动将会有帮助,因为这将closures所有正在运行的进程(并closures所有打开的文件)。
另一个考虑是文件系统损坏。 由于这是您的根文件系统,您可能需要重新启动并在重新启动时强制进行文件系统检查( shutdown -rF now )。 除非您具有KVM访问权限或类似function(因此您可以在引导过程中进行交互),否则,您的远程计算机将在检查过程中发现错误时挂起等待本地input,请确保您已configuration为执行非交互式扫描+修复。
编辑:( 根据评论中的问题)
如果您知道将文件保持为打开状态的进程,则可以重新启动该特定进程(通过服务停止/启动/重新启动脚本或通过更多手动进行查杀和重新启动)而不是整个实例。
另外一些程序支持能够在不重启的情况下自行重启,通常包括closures和重启日志文件(解决你的问题,如果确实是由于被删除的日志文件仍然打开),以响应发送SIGHUP信号(通过kill )。 以这种方式重新设置进程有时是可取的,因为它减less(通常为零)服务器进程不能接受新连接的时间量。 这通常是当你运行/etc/init.d/<service> reload而不是/etc/init.d/<service> restart (如果我已经看到restart实现这种方式,所以做一个适当的完全重置你必须做/etc/init.d/<service> stop; /etc/init.d/<service> start )。
pipe理回收的空间没有重新启动的进程通过/ proc / fd /中的fd链接保持打开。
1)进入保存进程的文件描述符path:
cd /proc/`lsof|grep '<deleted_file>'|head -1|awk '{print $2}'`/fd
2)find进程fd链接:
ll | grep <deleted_file>
3)用空白覆盖(所有数据将丢失)
> <fd>