web-dev-qa-db-ja.com

Ubuntuサーバー:ハードドライブが常にいっぱい

50 GBの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% /

find/-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

8
Krayons

通常、duとdfの間には多少の不一致がありますが、通常、これほど大きくはありません。

  • duは、ディレクトリツリーから情報を読み取ることによって使用されるディスク領域を報告します。これは正確ですが時間がかかります。
  • dfは、ファイルシステムのメタデータを読み取ることによって使用されるディスク容量を報告します。ブロックで動作するため、高速ですが精度は低くなります。

表示されているものの通常の原因は、削除されたが、書き込みを行っているプロセスによってまだ閉じられていないファイルです。

ファイルが削除されているため、duはそのファイルのディレクトリエントリを表示せず、レポートに含めることができません。

ファイルがまだ開いているため、使用するブロックは解放されないため、dfはそれらが使用中であることを報告します。

あなたは問題を引き起こしているファイルを追跡することができるはずです

lsof +L1

SIZE/OFF列。

+ L1の形式で指定すると、リンクが解除された開いているファイルが選択されます。 + L1形式の指定は、指定されたファイルシステム上のリンクされていない開いているファイルを選択します。

11
user9517