最近碰到一个问题: df -g 查看内存,发现空间已经满了,但是到对应目录查看,发现只用了一半的空间,感觉还有一半不见了。

  经咨询其他人,给了两个解释:

1.fsck :使用Fsck命令修复损坏的分区

2. lsof : 有可能是某个还在运行的进程占用了已经删除的文件,导致我用du命令看不到。可以用这个lso命令来查看。

后续可以继续记录该问题如何解决的。。

最后经查是由于:WebSphere/AppServer会自己产生native_stderr.log 和 native_stdout.log日志,由于比较大,会被开发人员直接删除,但是如果was的进程没有停掉,这个文件实际上是还在的。只有对应was进程重启了才算是真正删掉这个文件了。所以在清理磁盘空间的时候如果是发现 native_stderr.log 、native_stdout.log比较大,是直接用 >  native_stderr.log来清空文件,而不是直接删除文件。