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
November 01, 2020
Technology
0
280
ページキャッシュの概念
以下動画のテキストです
https://youtu.be/x15iXjCeJaY
Satoru Takeuchi
PRO
November 01, 2020
Tweet
Share
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
eBPF
sat
PRO
1
110
waruiBPF
sat
PRO
0
100
eBPFとwaruiBPF
sat
PRO
5
3.4k
Pythonのコードの気になる行でスタックトレースを出す
sat
PRO
0
92
ソースコードを読むときの思考プロセスの例 ~markdownのレンダリング方法を知りたかった2 markdownパッケージ~
sat
PRO
0
190
様々なファイルシステム
sat
PRO
0
330
ソースを読む時の思考プロセスの例-MkDocs
sat
PRO
1
420
ソースを読むプロセスの例
sat
PRO
22
18k
メモリマップトファイル
sat
PRO
1
180
Other Decks in Technology
See All in Technology
Scrum Guide Expansion Pack が示す現代プロダクト開発への補完的視点
sonjin
0
520
2025-12-27 Claude CodeでPRレビュー対応を効率化する@機械学習社会実装勉強会第54回
nakamasato
4
1.4k
「違う現場で格闘する二人」——社内コミュニティがつないだトヨタ流アジャイルの実践とその先
shinichitakeuchi
0
210
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.3k
プロンプトエンジニアリングを超えて:自由と統制のあいだでつくる Platform × Context Engineering
yuriemori
0
330
AIと融ける人間の冒険
pujisi
0
110
善意の活動は、なぜ続かなくなるのか ーふりかえりが"構造を変える判断"になった半年間ー
matsukurou
0
360
松尾研LLM講座2025 応用編Day3「軽量化」 講義資料
aratako
15
4.9k
SES向け、生成AI時代におけるエンジニアリングとセキュリティ
longbowxxx
0
310
Qiita Bash アドカレ LT #1
okaru
0
170
AI駆動開発ライフサイクル(AI-DLC)の始め方
ryansbcho79
0
310
20251225_たのしい出張報告&IgniteRecap!
ponponmikankan
0
110
Featured
See All Featured
How to build a perfect <img>
jonoalderson
1
4.8k
Six Lessons from altMBA
skipperchong
29
4.1k
Documentation Writing (for coders)
carmenintech
77
5.2k
A Soul's Torment
seathinner
2
2.1k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
0
1.1k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
65
35k
What the history of the web can teach us about the future of AI
inesmontani
PRO
0
390
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
120
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.3k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
45
Transcript
ページキャッシュの概念 Oct 31th, 2020 Satoru Takeuchi Twitter: satoru_takeuchi, EnSatoru 1
ページキャッシュ概要 • 課題 ◦ ストレージデバイスへのアクセスはメモリアクセスに比べて非常に遅い ▪ NVMe SSDへのランダムアクセス : 100倍以上遅い
▪ HDDへのランダムアクセス : 一万倍以上遅い ◦ システム全体の性能はストレージアクセスがボトルネックになる • 解決方法 ◦ ページキャッシュ: ストレージ上のデータを一時的にメモリ上に置いておく機能 ◦ ストレージデバイスへの見かけ上のアクセス速度をメモリアクセス速度と同等にする 2
ストレージからの読み出し • 次のような二段階の読み出しをする 1. 一旦ページキャッシュという領域に読み出す 2. プロセスのメモリに読み出す • 以下ファイルAの先頭から4KiB読み出す例 3
メモリ プロセスのメモリ XXXX ページキャッシュ ファイルAの0~4KiB: XXXX ストレージ ファイルA 読み出し 0~4KiB: XXXX 読み出し
二回目以降の読み出し • 既存のページキャッシュ上のデータを読み出す ◦ ストレージへのアクセスは発生しない ◦ 見かけ上の読み出し速度はメモリアクセス速度と同等 4 メモリ プロセスのメモリ
XXXX ページキャッシュ ファイルAの0~4KiB: XXXX ストレージ ファイルA 0~4KiB: XXXX 読み出し
ストレージへの書き込み • ストレージではなくメモリ上のページキャッシュという領域に書く ◦ 書いた後はすぐに復帰 ◦ 見かけ上の書き込み速度はメモリアクセス速度と同等になる • 以下、プロセスのデータをファイルAの先頭から4KiB書き込む例 5
メモリ プロセスのメモリ YYYY ページキャッシュ ファイルAの0~4KiB: YYYY ストレージ ファイルA 書き込み 0~4KiB: XXXX
その後の読み出し • ストレージではなくページキャッシュから読み出す ◦ 見かけ上の読み出し速度はメモリアクセス速度と同等に 6 メモリ プロセスのメモリ YYYY ページキャッシュ
ファイルAの0~4KiB: YYYY ストレージ ファイルA 読み出し ファイルA 0~4KiB: XXXX
ストレージへの反映 • メモリ上のデータはマシンの電源が消えると無くなってしまう • 以下のような契機で書き出し(ライトバック)をする ◦ ページキャッシュの大きさがカーネルが設定する閾値を超えた ◦ 一定時間の経過 7
メモリ プロセスのメモリ ページキャッシュ ファイルAの0~4KiB: XXXX ストレージ ファイルA 書き込み 0~4KiB: XXXX
ページキャッシュが有用なケース • 所定の期間内にアクセスするデータがキャッシュメモリ上におさまる ◦ 見かけ上のストレージアクセス速度はメモリへアクセス速度にできる ◦ システムの搭載メモリ量が増えるとキャッシュメモリに使える領域も増える • おさまらなくなればライトバック処理が頻繁に動くので性能が劣化 •
システム運用におけるヒント ◦ 読み書きするデータ量の増加に伴って性能が急激に劣化した。なぜだろう? ▪ データがページキャッシュに乗り切らなくなったせいかもしれない ◦ システムの性能を劇的に挙げる方法はないだろうか? ▪ データがページキャッシュに乗り切るようメモリ増強すると可能かもしれない
まとめ • メモリアクセス速度に比べてストレージへのアクセス速度は遅い • その速度差を吸収するのがページキャッシュ • データ量をページキャッシュに収められると最大の効果を発揮 • CPUの演算速度とメモリアクセス速度差については以下動画を参照 ◦
その7 キャッシュメモリ ◦ その13 キャッシュメモリの効果 • Latency Numbers Every Programmer Should Know ◦ https://colin-scott.github.io/personal_website/research/interactive_latency.html