当前位置: 首页>>技术教程>>正文


Ubuntu服务器:硬盘始终充满

, ,

问题描述

我有一个50GB的VPS

当我运行df时

Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1             49982172  46580100    863064  99% /
none                    507212       172    507040   1% /dev
none                    511676         4    511672   1% /dev/shm
none                    511676        76    511600   1% /var/run
none                    511676         0    511676   0% /var/lock
none                    511676         0    511676   0% /lib/init/rw

当我从/运行du -h时

...
20K     ./tmp/vmware-root
4.0K    ./tmp/.webmin
4.0K    ./tmp/.X11-unix
4.0K    ./tmp/.ICE-unix
4.0K    ./tmp/hsperfdata_root
48K     ./tmp
7.7M    ./bin
3.8G    .

我还尝试找出大于100MB的文件,尝试使用find /-size + 100M -ls查找占用我空间的文件

4026531985    0 -r--------   1 root     root     140737486266368 Mar 23 08:55 /proc/kcore
find: `/proc/3969/task/3969/fd/5': No such file or directory
find: `/proc/3969/task/3969/fdinfo/5': No such file or directory
find: `/proc/3969/fd/5': No such file or directory
find: `/proc/3969/fdinfo/5': No such file or directory

我不知道该怎么办才能找到我的问题。

编辑:

更多信息

df –inodes /

Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/sda1            3178496  178211 3000285    6% /

查找/-xdev -print | wc -l

178773

lsof + L1

COMMAND     PID  USER   FD   TYPE DEVICE SIZE/OFF NLINK    NODE NAME
miniserv.  1496  root  txt    REG    8,1    10416     0 2364381 /usr/bin/perl (deleted)
mysqld    12869 mysql    4u   REG    8,1        0     0  537495 /tmp/ibkCwnHJ (deleted)
mysqld    12869 mysql    5u   REG    8,1        0     0  537497 /tmp/ibFyPrrv (deleted)
mysqld    12869 mysql    6u   REG    8,1        0     0  537499 /tmp/ibdUnwbh (deleted)
mysqld    12869 mysql    7u   REG    8,1        0     0  537500 /tmp/iblHYOV2 (deleted)
mysqld    12869 mysql   11u   REG    8,1        0     0  537501 /tmp/ibUW9YGO (deleted)

发行者ID:Ubuntu说明:Ubuntu 10.04.4 LTS版本:10.04代号:lucid

最佳方法

通常,du和df之间会有一些差异,但是通常不会像您看到的那样大。

  • du报告通过从目录树中读取信息而使用的磁盘空间,该空间准确但速度慢。

  • df报告读取文件系统元数据所使用的磁盘空间,它快速但不准确,因为它与块一起使用。

您看到的常见原因是文件已被删除,但尚未被写入该文件的进程关闭。

由于文件已删除,因此du不会看到该文件的目录条目,因此无法将其包括在报告中。

由于该文件仍处于打开状态,因此它使用的块不是免费的,因此df将报告它们正在使用中。

您应该能够找到引起问题的文件

lsof +L1

检查SIZE/OFF列。

A specification of the form +L1 will select open files that have been unlinked. A specification of the form +L1 will select unlinked open files on the specified file system.

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/11654.html,未经允许,请勿转载。