# 우분투(리눅스) 에서 하드용량이 없다고 나오는 문제(No space left on device)

다음과 같은 문제가 발생하는 경우가 있다.

# touch /tmp/check
touch: cannot touch `/tmp/check': No space left on device

파일을 생성하는 명령을 내렸을때 용량이 없다는 메시지가 나온다.

하드용량을 확인해보면.

# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1       19G  3.0G   15G  17% /
udev            236M  4.0K  236M   1% /dev
tmpfs            98M  180K   98M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            245M     0  245M   0% /run/shm
none            100M     0  100M   0% /run/user

아직 용량은 충분한데 이상하다.

# df -i
Filesystem      Inodes   IUsed IFree IUse% Mounted on
/dev/xvda1     1253376 1253376     0  100% /
udev             60266     385 59881    1% /dev
tmpfs            62675     261 62414    1% /run
none             62675       2 62673    1% /run/lock
none             62675       1 62674    1% /run/shm

none             62675       1 62674    1% /run/user

바로 inode 의 갯수가 꽉 찬것이다.

분명히 어딘가에서 너무 많은 파일이 등록이 되어 있는 것이다.


범인을 찾아라.

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

=> 해당 위치를 찾아라.

# for dir in *; do [ -d "$dir" ] && echo "$dir" && find "$dir" | wc -l; done

둘다 명령은 동일.(디렉토리를 지정하거나 현재디렉토리를 기준)
의심되는 위치를 위 명령으로 해본다.

결과

session
1194823

=> 찾았다 범인.

너무 많은 세션파일이 생성되어 하드 용량이 남았어도 inode 갯수가 꽉 차서 더이상 파일을 생성할 수 없게 된 것이다.

저 파일들을 정리해주면 된다.

파일이 너무 많으니 rm -rf session 등으로 해주는게 좋다.(각자 알아서)

정상.

# df -i
Filesystem      Inodes IUsed   IFree IUse% Mounted on
/dev/xvda1     1253376 58729 1194647    5% /
udev             60266   385   59881    1% /dev
tmpfs            62675   261   62414    1% /run
none             62675     2   62673    1% /run/lock
none             62675     1   62674    1% /run/shm
none             62675     1   62674    1% /run/user

 => 이제 정상으로 나온다.



신고

댓글을 달아 주세요