df -h
파티션의 출력을 붙여넣습니다 /mtd_rwarea
.
$ df -h
Filesystem Size Used Available Use% Mounted on
/dev/mmcblk0p16 150.0M 138.5M 11.5M 92% /mtd_rwarea
그러나 디렉토리에는 아무것도 없습니다. 디렉토리 /mtd_rwarea
가 비어 있습니다. ls -la
이 파티션의 출력:
ls -la
drwxr-xr-x 1 root 0 2 Jan 1 00:01 .
drwxrwxrwx 26 root 0 693 Aug 16 2012 ..
그 이유가 무엇인지 이해하는 데 도움을 줄 수 있는 사람이 있습니까?
감사해요!
답변1
재부팅 후 공간이 회수되는 경우 열기 핸들러를 사용하여 파일이 삭제되었기 때문에 차이가 있을 가능성이 높습니다.
lsof를 사용하여 삭제된 파일이 아직 열려 있는지 확인하세요. MySQL과 같은 일부 애플리케이션은 이 영역에서 오작동하여 파일 핸들러를 닫지 않고 임시 파일의 링크를 해제하는 것으로 악명이 높습니다.
답변2
이런 일이 발생할 수 있는 이유는 여러 가지가 있습니다. 제가 아는 이유는 다음과 같습니다.
- 디렉토리에 있는 동안 파일 시스템을 마운트\마운트 해제하면 ls와 같은 작업을 수행할 때 오래된 정보가 제공됩니다.
- 두 개의 마운트 지점이 디렉터리에 연결된 경우 마지막 마운트 지점이 유효한 마운트 지점입니다.
- 파일 시스템은 때때로 루트 사용을 위해 특정 비율의 공간을 예약하며, 일부 버전에서는 이는 사용된 공간으로 표시됩니다(dumpe2fs를 사용하여 extX에서 찾을 수 있음).
- 오류가 발생하여 파일 링크가 해제되었으며 데이터 블록이 올바르게 해제되지 않았습니다(fsck로 수정됨).
- 파일 시스템이 생성되면 높은 inode/블록 비율로 생성되므로 inode 공간이 할당된 것처럼 보입니다.
파일 시스템이 비어 있다는 점을 고려하여 다시 생성하겠습니다.
그러나 어떤 이론이 맞는지 알아보기 위해 (차단 목록 없이) dumpe2fs를 붙여넣을 수 있다면 기쁠 것입니다.