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. 2つのマウントポイントがディレクトリに接続されている場合、最後のマウントポイントは有効なマウントポイントです。
  3. ファイルシステムは時々ルートを使用するために特定の割合のスペースを予約します。
  4. エラーが発生したため、ファイルリンクが解放され、データブロックが正しく解放されませんでした(fsckに修正されました)。
  5. ファイルシステムが作成されると、高いinode /ブロック比で生成されるため、inodeスペースが割り当てられているように見えます。

ファイルシステムが空であることを考慮して再生成します。

しかし、どの理論が正しいのかを知るために(ブロックリストなしで)dumpe2fsを貼り付けることができればうれしいです。

関連情報