LoginSignup
12
12

More than 5 years have passed since last update.

Linuxでディスク容量はあるのに容量不足エラーが出る場合の対処法

Last updated at Posted at 2017-08-21

はじめに

Bind on unix socket: No space left on device
とか
Error: unable to create temporary file; errno: 28
とか
Can't create/write to file '/tmp/#xxxx' (Errcode: 28)
とか

ディスク容量不足系エラーが出るけど、dfしたらディスク容量には余裕がある!
どうしたらいいんだ!
という人向け

結論

①書き込み先ディレクトリの権限がない
②inodeが枯渇している
だいたいどっちか

①書き込み先ディレクトリの権限がない

1.パーミッションの確認

# ls -ld /tmp
dr-xr-xr-x. 11 root root 4096 Aug 21 04:08 /tmp

2.フルパーミッションの付与

# chmod 1777 /tmp

3.パーミッションの確認

# ls -ld /tmp
drwxrwxrwt 3 root root 4096 Aug 21 04:08 /tmp

これでだいたいなんとかなるはず
なんとかならなかった人は②へ

②inodeが枯渇している

1.dfで容量の確認

# df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/xvda1       8123812 4815712   3207852  61% /
tmpfs             508628       0    508628   0% /dev/shm

2.df -i でinode利用量の確認

# df -i
Filesystem     Inodes  IUsed  IFree IUse% Mounted on
/dev/xvda1     6406144 6406144 0   100% /
tmpfs          127157      1 127156    1% /dev/shm

3.どのディレクトリがinodeを使い込んでいるのか確認

# for i in /*; do echo $i; find $i |wc -l; done

または

# echo "==== `pwd` ====" ; for i in `ls -1`;do echo -n "## $i ### " ; echo "(`find ./$i -type f |wc -l`)" ;done | sort -r
==== /var ====

4.怪しい奴を見つける

/foo
1
/piyo
2
/hoge
6370020

5.原因のディレクトリのファイルを削除

# rm -rdf /hoge/*

だいたいLogかMailが原因なので、そこらへんに当たりをつけると探しやすいかもです。

cf.

Linuxでディスクが一杯になった時の対処法 - Qiita
http://qiita.com/masarufuruya/items/0c794083fc4ea03cd9f9

inodeとは/inode消費が多いディレクトリの確認
http://tagutagu.com/?page_id=985

12
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
12