df는 파티션이 차지하는 공간을 보고하지만 데이터는 없습니다.

df는 파티션이 차지하는 공간을 보고하지만 데이터는 없습니다.

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

이런 일이 발생할 수 있는 이유는 여러 가지가 있습니다. 제가 아는 이유는 다음과 같습니다.

  1. 디렉토리에 있는 동안 파일 시스템을 마운트\마운트 해제하면 ls와 같은 작업을 수행할 때 오래된 정보가 제공됩니다.
  2. 두 개의 마운트 지점이 디렉터리에 연결된 경우 마지막 마운트 지점이 유효한 마운트 지점입니다.
  3. 파일 시스템은 때때로 루트 사용을 위해 특정 비율의 공간을 예약하며, 일부 버전에서는 이는 사용된 공간으로 표시됩니다(dumpe2fs를 사용하여 extX에서 찾을 수 있음).
  4. 오류가 발생하여 파일 링크가 해제되었으며 데이터 블록이 올바르게 해제되지 않았습니다(fsck로 수정됨).
  5. 파일 시스템이 생성되면 높은 inode/블록 비율로 생성되므로 inode 공간이 할당된 것처럼 보입니다.

파일 시스템이 비어 있다는 점을 고려하여 다시 생성하겠습니다.

그러나 어떤 이론이 맞는지 알아보기 위해 (차단 목록 없이) dumpe2fs를 붙여넣을 수 있다면 기쁠 것입니다.

관련 정보