Upgrade to Pro — share decks privately, control downloads, hide ads and more …

バッファキャッシュ

 バッファキャッシュ

以下動画のテキストです。
https://youtu.be/pXpVDAqLpHA

842515eaf8fbb2dfcc75197e7797dc15?s=128

Satoru Takeuchi

December 29, 2020
Tweet

Transcript

  1. バッファキャッシュ Dec 29th, 2020 Satoru Takeuchi Twitter: satoru_takeuchi, EnSatoru 1

  2. バッファキャッシュとは • ストレージのデータを一時的にキャッシュしておくしくみ • freeコマンドで出力される”buff/cache”のうちの”buff”のほう • ページキャッシュとの違い ◦ ページキャッシュ: 通常のファイルの中身をキャッシュ

    ◦ バッファキャッシュ: 上記以外のメタデータをキャッシュ ▪ ブロックデバイスファイルのデータ ▪ inode、ディレクトリの中身 • Btrfsのようにinodeもページキャッシュに置かれるファイルシステムも 2
  3. バッファキャッシュの情報 • freeの”buff/cache”: バッファキャッシュの総量+ページキャッシュの総量(*1) ◦ 通常はほとんどがページキャッシュ • sar -rのkbbuffers(KiB単位) 3

    *1) カーネルのslabという領域も含む
  4. 実験A: ブロックデバイスのデータをキャッシュ 1. sync & drop_caches 2. sar -r 1

    1を実行し、kbbuffersの値を記録 3. ブロックデバイスから1GB読む 4. sar - 1 1を実行し、kbbuffersの値が増えていることを確認 4
  5. 実験B: inodeのデータを書き込む 1. sync & drop_caches 2. sar -r 1

    1 3. ext4ファイルシステムに一万個の空ファイルを作る 4. sar -r 1 1を実行 5
  6. まとめ • バッファキャッシュはディスクの内容をメモリにキャッシュする • キャッシュの対象となるのは通常のファイルの内容以外のもの ◦ ブロックデバイスファイルの内容 ◦ inode, ディレクトリの内容

    • 予告: ページキャッシュとバッファキャッシュ マニアクス(仮) 6