Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
バッファキャッシュ
Search
Satoru Takeuchi
PRO
December 29, 2020
Technology
0
360
バッファキャッシュ
以下動画のテキストです。
https://youtu.be/pXpVDAqLpHA
Satoru Takeuchi
PRO
December 29, 2020
Tweet
Share
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
ソースを読むプロセスの例
sat
PRO
15
9.4k
メモリマップトファイル
sat
PRO
1
110
「Linux」という言葉が指すもの
sat
PRO
4
210
APIとABIの違い
sat
PRO
5
180
ファイルシステムへのアクセス方法
sat
PRO
0
72
ファイルシステム
sat
PRO
1
68
低レイヤソフトウェア技術者が YouTuberとして食っていこうとした話
sat
PRO
7
6.2k
ポーリングと割り込み
sat
PRO
1
120
Rook: Intro and Deep Dive With Ceph
sat
PRO
1
150
Other Decks in Technology
See All in Technology
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
940
OSSで50の競合と戦うためにやったこと
yamadashy
1
140
Codexとも仲良く。CodeRabbit CLIの紹介
moongift
PRO
1
260
Building a cloud native business on open source
lizrice
0
100
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3k
『バイトル』CTOが語る! AIネイティブ世代と切り拓くモノづくり組織
dip_tech
PRO
1
130
AI時代こそ求められる設計力- AWSクラウドデザインパターン3選で信頼性と拡張性を高める-
kenichirokimura
3
350
事業開発におけるDify活用事例
kentarofujii
3
850
AIとともに歩んでいくデザイナーの役割の変化
lycorptech_jp
PRO
0
550
Data Hubグループ 紹介資料
sansan33
PRO
0
2.2k
Claude Code Subagents 再入門 ~cc-sddの実装で学んだこと~
gotalab555
10
17k
サイバーエージェント流クラウドコスト削減施策「みんなで金塊堀太郎」
kurochan
4
2.1k
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
Embracing the Ebb and Flow
colly
88
4.9k
Designing Experiences People Love
moore
142
24k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
The Invisible Side of Design
smashingmag
302
51k
Balancing Empowerment & Direction
lara
5
690
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
980
Making Projects Easy
brettharned
120
6.4k
Designing for Performance
lara
610
69k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Transcript
バッファキャッシュ Dec 29th, 2020 Satoru Takeuchi Twitter: satoru_takeuchi, EnSatoru 1
バッファキャッシュとは • ストレージのデータを一時的にキャッシュしておくしくみ • freeコマンドで出力される”buff/cache”のうちの”buff”のほう • ページキャッシュとの違い ◦ ページキャッシュ: 通常のファイルの中身をキャッシュ
◦ バッファキャッシュ: 上記以外のメタデータをキャッシュ ▪ ブロックデバイスファイルのデータ ▪ inode、ディレクトリの中身 • Btrfsのようにinodeもページキャッシュに置かれるファイルシステムも 2
バッファキャッシュの情報 • freeの”buff/cache”: バッファキャッシュの総量+ページキャッシュの総量(*1) ◦ 通常はほとんどがページキャッシュ • sar -rのkbbuffers(KiB単位) 3
*1) カーネルのslabという領域も含む
実験A: ブロックデバイスのデータをキャッシュ 1. sync & drop_caches 2. sar -r 1
1を実行し、kbbuffersの値を記録 3. ブロックデバイスから1GB読む 4. sar - 1 1を実行し、kbbuffersの値が増えていることを確認 4
実験B: inodeのデータを書き込む 1. sync & drop_caches 2. sar -r 1
1 3. ext4ファイルシステムに一万個の空ファイルを作る 4. sar -r 1 1を実行 5
まとめ • バッファキャッシュはディスクの内容をメモリにキャッシュする • キャッシュの対象となるのは通常のファイルの内容以外のもの ◦ ブロックデバイスファイルの内容 ◦ inode, ディレクトリの内容
• 予告: ページキャッシュとバッファキャッシュ マニアクス(仮) 6