디스크가 꽉 찼지만 큰 파일이나 폴더를 찾을 수 없습니다 /proc

우분투 서버는 거의 모든 디스크를 사용한다는 것을 보여줍니다.

Usage of /:   95.5% of 118.12GB

그리고 큰 폴더와 파일을 찾으려면 ncdu를 실행하십시오.

ncdu 1.8 ~ Use the arrow keys to navigate, press ? for help
--- / ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    5.5GiB [##########] /root
    2.3GiB [####      ] /var
  628.6MiB [#         ] /usr
  209.9MiB [          ] /lib
   28.2MiB [          ] /boot
    8.6MiB [          ] /bin
    7.7MiB [          ] /sbin
    6.6MiB [          ] /etc
  208.0KiB [          ] /run
  112.0KiB [          ] /tmp
   48.0KiB [          ] /opt
e  16.0KiB [          ] /lost+found
    8.0KiB [          ] /dev
    8.0KiB [          ] /media
    4.0KiB [          ] /lib64
e   4.0KiB [          ] /srv
e   4.0KiB [          ] /selinux
e   4.0KiB [          ] /mnt
e   4.0KiB [          ] /home
    0.0  B [          ] /proc
    0.0  B [          ] /sys
@   0.0  B [          ]  initrd.img
@   0.0  B [          ]  vmlinuz

에 따르면 ncdu나는 약 사용 10 GiB128 GiB– 그것은 관한 것입니다 10 %. 모순.

ubutntu server재부팅하지 않고 청소하는 방법 ?

나는 그것이 ncdu거짓말을하고 다른 앱을 사용하여 큰 파일과 폴더를 찾았습니다. 그들 모두와 같은 결과를 보여줍니다 ncdu.

그리고 df -h명령은 디스크가 꽉 찼음을 보여줍니다.

# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda       119G  113G     0 100% /
udev            2.0G  8.0K  2.0G   1% /dev
tmpfs           788M  212K  788M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            2.0G     0  2.0G   0% /run/shm

최신 정보

sudo du -sch /* 결과:

/# sudo du -sch /*
8.7M    /bin
29M /boot
8.0K    /dev
6.6M    /etc
4.0K    /home
0   /initrd.img
210M    /lib
4.0K    /lib64
16K /lost+found
8.0K    /media
4.0K    /mnt
48K /opt
du: cannot access `/proc/4470/task/4470/fd/4': No such file or directory
du: cannot access `/proc/4470/task/4470/fdinfo/4': No such file or directory
du: cannot access `/proc/4470/fd/4': No such file or directory
du: cannot access `/proc/4470/fdinfo/4': No such file or directory
0   /proc
5.0G    /root
212K    /run
7.8M    /sbin
4.0K    /selinux
4.0K    /srv
0   /sys
112K    /tmp
629M    /usr
2.3G    /var
0   /vmlinuz
8.1G    total

8.1G 평소와 같이 총계. 그러나 나는 cannot access행 때문에 문제가있을 수 있습니다.

그런 다음에서 가장 큰 폴더를 확인했습니다 /. 그것은이다 /root:

/# sudo du -sch /root/*
96K /root/Downloads
2.5G    /root/Dropbox
36K /root/nohup.out
4.0K    /root/npm-debug.log
4.0K    /root/readonly
980K    /root/redis-2.6.16.tar.gz
228M    /root/tmp
2.7G    total


답변

실험실 컴퓨터에서 이와 동일한 문제가 발생 했으며이 명령을 사용했습니다.

du -sch .[!.]* * |sort -h

아직 삭제하지 않은 휴지통과 같은 숨겨진 파일을 찾을 수있었습니다.

신용하기 에 여기 내가 원래이 대답을 발견 한 곳.


답변

프로세스에서 여전히 열려있는 삭제 된 파일을 확인하십시오.
sudo lsof | grep deleted | less

pid 및 파일 설명자가 표시됩니다. 나는 서버 에서이 정확한 문제를 겪었 ncdu지만 디스크를 채우는 것 외에는 아무것도 없습니다 . 파일을 마운트 된 삼바 공유로 옮기는 야간 프로세스로 밝혀졌으며 때로는 파일 핸들을 올바르게 닫지 않은 것 같습니다.

삭제 된 파일을 찾아서 정리하려면 재부팅이 가장 쉬운 방법 일 것입니다. 또는 프로세스를 종료 할 수 있습니다. 또는 사용하지 않는 것이 확실한 경우 다음과 같이 수동으로 제로화 할 수 있습니다.
> /proc/14487/fd/12


답변

다음 명령은 –max-depth = 1 인 / home 디렉토리의 디스크 사용률을 보여줍니다.

user@linux:~$ sudo du -h -d 1 /

답변

디스크 마운트를 확인하십시오. 내가 본 솔루션 중 어느 것도 마운트가있는 폴더가 차지하는 공간을 식별 할 수 없습니다.


답변

우리는이 같은 문제가 있었고 var / lib / docker에 저장된 docker 이미지로 판명되었습니다.

ncdu는 사용자에게 보이지 않으므로 이들을 나열하지 않습니다. sudo에서 ncdu를 실행해도 도움이되지 않습니다.

이 명령은 기존 도커 이미지를 모두 제거합니다 …

docker rmi $(docker images -a -q)


답변

다음 명령을 실행하여 상위 10 개의 가장 큰 파일을 찾을 수 있습니다.

find / -type f -printf '%s %p\n' 2>&1
     | grep -v 'Permission denied'
     | sort -nr
     | head -10