제가 겪고 있는 문제는 디스크가 꽉 찼는데 채울 파일을 찾을 수 없다는 것입니다. 내가 실행하면 df -h
다음을 얻습니다.
Filesystem Size Used Avail Use% Mounted on
/dev/root 53G 51G 2.0G 97% /
devtmpfs 2.0G 4.0K 2.0G 1% /dev
none 395M 204K 395M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 2.0G 0 2.0G 0% /run/shm
none 100M 0 100M 0% /run/user
캐시, 로그, 자동 삭제된 파일을 모두 지웠습니다. 이 명령을 읽으면 다음과 같은 du -h /var | sort -nr | head -n 10
결과를 얻습니다.
1016K /var/www/soFit/cache/class_folder-242/soinfitcom/cl
1016K /var/www/landing/PHPMailer/vendor
1008K /var/www/dating/libs/vendor
988K /var/www/libs/mPDF/ttfontdata
968K /var/www/landing/PHPMailer/vendor/phpmailer
964K /var/www/landing/PHPMailer/vendor/phpmailer/phpmailer
960K /var/www/soFitTest/groupChats/vendor/symfony/http-foundation
960K /var/www/soFitTest/chat/vendor/symfony/http-foundation
960K /var/www/soFit/groupChats/vendor/symfony/http-foundation
960K /var/www/soFit/chat/vendor/symfony/http-foundation
사용du -x / | sort -rn | head -n 10
2471828 /
1592004 /var
1091532 /var/lib
929776 /var/lib/mysql
776620 /usr
715092 /var/lib/mysql/soFit
306064 /var/www
291376 /usr/lib
269176 /usr/share
180868 /var/www/libs
내 mysql 데이터베이스 크기는 약 500MB로 그다지 크지 않습니다.
51G 공간은 모두 어디로 갔는가?
내 Linux는: Debian GNU/Linux 7.11(헐떡임)
du -h --max-depth=1 /
4.0K /dev
6.4M /etc
4.0K /mnt
759M /usr
4.0K /selinux
5.5M /root
20K /home
24K /srv
4.0K /opt
0 /sys
8.0K /tigo
8.0K /media
16K /lost+found
1.6G /var
6.5M /sbin
4.0K /lib64
7.0M /bin
4.0K /.ssh
204K /run
15M /lib
4.0K /boot
12K /tmp
du: cannot access `/proc/4557/task/19375/fdinfo/312': No such file or directory
du: cannot access `/proc/13067/task/13067/fd/4': No such file or directory
du: cannot access `/proc/13067/task/13067/fdinfo/4': No such file or directory
du: cannot access `/proc/13067/fd/5': No such file or directory
du: cannot access `/proc/13067/fdinfo/5': No such file or directory
0 /proc
61M /backups
2.4G/
대답은 다음 명령을 사용하여 파일을 찾아 lsof | grep -i deleted
삭제하는 것입니다.
그냥 재부팅하는 대신 머신을 완전히 종료하세요.
var/libs/mysql 삭제(없음).log
답변1
삭제된 대용량 파일을 열어두는 일부 프로세스가 있을 수 있습니다. 이러한 열린 파일 찾기를 사용하거나 lsof
컴퓨터가 작동하는 경우(예: 계속 실행해야 하는 서버가 아닌 경우) 컴퓨터를 다시 시작할 수 있습니다. 바라보다열려 있지만 삭제된 대용량 파일 찾기 및 삭제
(죄송합니다. 휴대폰으로 입력해서 복사/붙여넣기가 불편합니다.)
답변2
정의한 깊이의 폴더 요약을 가져오는 매개변수 du -h
와 함께 사용할 수 있습니다 . 예를 들어 사용할 수 있는 폴더 2개의 깊이에 대해 다음과 같습니다.--max-depth
du -h --max-depth=2 /
대부분의 데이터가 들어 있는 폴더를 찾으면(힌트 - 크기는 G 단위임) 해당 폴더에 대해 동일한 명령을 실행할 수 있습니다.
du -h --max-depth=2 /folder/which/holds/GB/OF/DATA
참고: 도움이 될 수 있는 몇 가지 그래픽 도구가 있습니다(사용 중인 Linux에 따라 다름).
Linux에서 디스크 사용 패턴을 분석하는 방법일부 Linux GUI 유틸리티에 대한 링크 저장