내 서버에서 루트 파티션은 73GB이지만 장치에서 약 6GB만 사용되는 경우에도 디스크가 꽉 찬 것으로 표시됩니다.
# df -h
Filesystem Size Used Avail Use% Mounted on
udev 997M 0 997M 0% /dev
tmpfs 202M 41M 162M 20% /run
/dev/mapper/p22server-root 73G 68G 655M 100% /
(저는 서버에서 LVM을 사용하고 있습니다 /dev/mapper/p22server-root -> ../dm-0
:) 확인해 보면
ncdu -x /
총 사용량은 5.9GB에 불과한 것으로 나타났습니다.
내 생각에는 아직 열려 있지만 파일 트리에는 표시되지 않는 일부 파일이 있어야 하는 것 같습니다.
어떻게 디버깅할 수 있나요? 재부팅하면 잃어버린 공간이 복구될 줄 알았는데 지금은 재부팅이 불가능하네요.
답변1
의심이 사실이라면 대처하기가 더 쉬울 수도 있습니다.라소프.
출력에서 "(제거됨)" 또는 유사한 항목을 찾으십시오.
답변2
두 가지 가능성이 있습니다:
1. 일부 프로세스에서는 삭제된 파일이 여전히 열려 있습니다.
열려 있는 모든 파일을 볼 수 있습니다 lsof
. 예를 들어, 다음은 표시되는 유형 lsof
과 출력에 나타나는 빈도입니다.
# lsof|cut -c50-54|sort|uniq -c
375 CHR
610 DIR
211 FIFO
32 IPv4
17 IPv6
40 link
419 node
152 nown
6008 REG
9 sock
598 unix
이는 파일 설명자 열(FD)만 표시합니다.
# lsof|awk -v field="FD" 'NR==1 {c = index($0,field)} {print substr($0,c-1,length(field)+4)}'|sort|uniq -c|sort -n|tail
DEL
힌트를 보려면 출력에서 이 값이 있는 파일을 찾으세요 lsof
.
2. 마운트 지점 뒤에 숨겨진 파일
그러나 이러한 파일은 설치 폴더에 많은 수의 파일이 저장되어 있을 때 사용되지 않은 마운트 지점으로 인해 단순히 "숨겨져" 있었으며 이제는 ncdu
.
루트 디렉터리를 다른 위치에 마운트하고 분석합니다.
mkdir /temp-root
mount --bind / /temp-root
ncdu -x /temp_root