Linux df 結果のディスク キャッシュの影響

Linux df 結果のディスク キャッシュの影響

df の結果が信頼できないという問題が発生しています。私は sles 11 sp3 で xfs ファイル システムを使用しています。
基本的に、ディスク キャッシュをクリアする前とクリアした後の空きサイズに大きな差 (数 GB) があります。ディスク キャッシュが余分なストレージを使用する理由を知っている人はいますか。
例:

VideoEdge:/ # df
Filesystem     1K-blocks      Used Available Use% Mounted on
...
/dev/sdb2      870942208 824794856  46147352  95% /mediadb
/dev/sdc1      975746564 924536548  51210016  95% /mediadb1
/dev/sdd1      975746564 153177500 822569064  16% /mediadb2

VideoEdge:/ # echo 3 > /proc/sys/vm/drop_caches 

VideoEdge:/ # df
Filesystem     1K-blocks      Used Available Use% Mounted on
/dev/sdb2      870942208 822225756  48716452  95% /mediadb
/dev/sdc1      975746564 923374888  52371676  95% /mediadb1
/dev/sdd1      975746564 148323524 827423040  16% /mediadb2
VideoEdge:/ # df

上記からわかるように、ディスク領域をクリアすると、使用可能な領域が増えます。

df を使用して、使用できるスペースの量を推定し、df でストレージが 95% 使用されていると表示されたら、古いデータを削除しようとします。ディスク キャッシュが予測できないストレージ スペースを占有するため、問題が発生します。

ディスク キャッシュが一時的にストレージを消費する理由を知っている人はいますか? ディスク キャッシュによって消費される量や、ディスク キャッシュによって消費される可能性がある最大値を計算する方法はありますか?

時々パフォーマンスに影響を及ぼす可能性があるディスク キャッシュをクリアしたくありません。

VideoEdge:/ # df
Filesystem     1K-blocks      Used Available Use% Mounted on
rootfs           8259484   5592116   2247724  72% /
udev             2021220       228   2020992   1% /dev
tmpfs            2021220       144   2021076   1% /dev/shm
/dev/sda1        8259484   5592116   2247724  72% /
/dev/sda3      463282160  75389072 387893088  17% /var
/dev/sdb1      104804356     32928 104771428   1% /var/opt/americandynamics/venvr/clipexport
/dev/sdb2      870942208 821370196  49572012  95% /mediadb
/dev/sdc1      975746564 923423496  52323068  95% /mediadb1
/dev/sdd1      975746564 148299180 827447384  16% /mediadb2

/dev/sdb2 on /mediadb type xfs (rw,noatime,nodiratime,attr2,nobarrier,inode64,allocsize=4096k,noquota)
/dev/sdc1 on /mediadb1 type xfs (rw,noatime,nodiratime,attr2,nobarrier,inode64,allocsize=4096k,noquota)
/dev/sdd1 on /mediadb2 type xfs (rw,noatime,nodiratime,attr2,nobarrier,inode64,allocsize=4096k,noquota)

答え1

参照してください:

XFS ファイルシステムが突然多くのスペースを消費し、スパース ファイルでいっぱいになっているのはなぜですか?

これは、XFS の動的事前割り当て機能の結果です。これらは基本的に、ファイルの断片化を防ぐために書き込みを結合するファイル バッファーです。回避策はいくつかあります。

  • du --apparent-size役に立つかもしれません。
  • XFSファイルシステムのマウントオプションについては、関連質問

どちらの場合も、ファイルシステムは危険なレベル (95% 以上) になっています。使用率は 80% よりはるかに低いはずなので、バッファ スペースの量が少なくても問題はありません。df実際に使用されているのが常にこの結果なので、結果を使用するのもよいでしょう。

関連情報