![내 공간은 어디에 있나요? [복사]](https://linux55.com/image/71631/%EB%82%B4%20%EA%B3%B5%EA%B0%84%EC%9D%80%20%EC%96%B4%EB%94%94%EC%97%90%20%EC%9E%88%EB%82%98%EC%9A%94%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
49/59G를 사용하고 있다고 해서 df
공간을 찾기 시작했습니다.
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 59G 49G 7.9G 86% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 2.0G 4.0K 2.0G 1% /dev
tmpfs 396M 340K 396M 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
overflow 1.0M 0 1.0M 0% /tmp
``처음으로 시도해 봤는데du
5.1G .
2.3G ./var
1.3G ./usr
973M ./var/log
834M ./lib
736M ./lib/modules
713M ./var/lib
600M ./root
592M ./var/log/nginx
456M ./var/www
저는 수학 전공은 아니지만 49G는 아니라고 확신합니다.
이것을 시도해 ncdu
보니 5GB/128GB를 사용하고 있는 것으로 나타났습니다.
답변1
그 이유 중 하나는 파일이 디스크에서 제거되었지만 여전히 메모리에 열려 있기 때문입니다. 이러한 파일은 삭제되었지만 여전히 디스크 공간을 차지하고 있는 것으로 보고되었습니다.
를 사용하여 이 상태의 파일이 있는지(그리고 어떤 프로세스가 해당 파일을 열어 두는지) 확인할 수 있습니다 lsof
.
$ lsof | grep deleted
open.pl 15220 steve 3r REG 8,1 70 56099817 /home/steve/scratch/in.txt (deleted)
열 7(위의 경우 70)은 파일 크기(바이트)입니다. 첫 번째 열(open.pl)은 파일을 열어두는 프로세스입니다. 두 번째 열은 프로세스의 PID입니다.
일반적으로 이는 대용량 로그 파일이 삭제되었지만 해당 파일을 사용하는 프로세스가 다시 시작되지 않을 때 발생합니다.
이 공간을 확보하려면 파일이 아직 열려 있는 서비스를 다시 시작하면 됩니다.
답변2
항상 "누락된" 것이 있습니다... 우선, 디렉토리에 있는 inode 테이블, 파일 이름 목록 및 유사한 항목이 약간의 공간을 차지합니다. 예전 플로피 디스크는 1.44MB였지만 MS-DOS FAT 파일 시스템에서는 1.38MB만 저장할 수 있었던 것으로 기억합니다.
둘째, Linux/Unix 파일 시스템은 일반적으로 루트용으로 몇 퍼센트의 공간을 예약합니다. 이렇게 하면 사용자가 전체 파일 시스템을 가득 채우더라도 루트는 여전히 작업할 수 있는 공간이 있으며 루트에 속한 로그를 사용할 수 있습니다. 기본값은 5%입니다. 1TB 또는 2TB 디스크의 경우 이 값은 상당히 커질 수 있습니다(더 적게 설정하는 것이 안전합니다).
이 tune2fs
명령을 사용하면 -m 옵션을 사용하여 백분율을 지정할 수 있습니다. tune2fs -m 1 /dev/sda1
1%만 유지하세요(그만큼 유지해야 함).