Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
114-ファイルのshallow_copy.pdf
Search
Satoru Takeuchi
PRO
May 27, 2026
Technology
72
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
114-ファイルのshallow_copy.pdf
Satoru Takeuchi
PRO
May 27, 2026
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
119-多機能ファイルシステムBtrfs_のコピー.pdf
sat
PRO
1
84
Linuxカーネルの インタフェースは変わりうる?
sat
PRO
1
120
あなたの知らないバージョン命名規則
sat
PRO
3
940
Rook: Intro and Deep Dive with Ceph
sat
PRO
1
84
Machine Check Exception
sat
PRO
2
74
バイナリダンプの模様を読む
sat
PRO
0
120
cpコマンドはディスク上でデータを コピーしないことがある
sat
PRO
3
120
113-Btrfsのスナップショット.pdf
sat
PRO
0
52
システム強制終了時にファイルシステムの整合性を保つ~ コピーオンライト編 ~
sat
PRO
0
84
Other Decks in Technology
See All in Technology
レガシーコードに対する loop engineering的なAI開発プロセス導入について
kubell_hr
0
310
自律的なチームを作るためにTechPMがやらないこと
ny7760
1
530
Content Mapper APIの応用例~CSS Modules、言語ファイル~
uhyo
2
630
AX時代の自治体支援リソース再配分と役割分担の再構成:戦略とロードマップ(概要)
sishi2026
0
210
AI時代に求められる優秀なTechLeadの振る舞い
pospome
11
15k
AI時代の組織作り:チーム開発から「個人×AI」への移行と、持続可能な「開発資本」の築き方
ham0215
2
420
長い仕事を任せる (Workflows、クラウドセッション、Kiro Web) | 目指せ Kiro マスター 10
inariku
PRO
3
150
re:Invent2026 事前勉強会 歴史と愉しみ方10分LT編
toshi_atsumi
0
170
SSFの現在地 ― CAEP/RISCからAI Identityへ
oidfj
0
340
「AIチャットからもできないの?」と言われたら ~業務アプリをMCP対応するときの認証・認可の勘所
oidfj
0
260
bpf_arenaとstruct_opsを使うのが難しかった話
masu_mi
0
220
お客様の「やりたい」の先を見通す合意形成プロセス ~裏にある課題と不安を解きほぐすコツ~
yukakoseki
0
140
Featured
See All Featured
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
880
ラッコキーワード サービス紹介資料
rakko
5
5.8M
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.5k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
930
The Language of Interfaces
destraynor
162
27k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
680
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
590
A better future with KSS
kneath
240
18k
A Soul's Torment
seathinner
8
3.9k
Raft: Consensus for Rubyists
vanstee
143
7.9k
Transcript
ファイルのshallow copy May. 26th, 2026 Satoru Takeuchi X: satoru_takeuchi 1
• ファイルのデータそのものではなくデータの参照だけをコピーする機能 • snapshotをファイル単位で実現するようなもの • メジャーどころのファイルシステムではBtrfsとXFSがサポート • shallow copyが何かを実験によって説明 はなすこと
2
まずはデカいファイルを作る • VMではなく物理マシン上のシステムで実験 ◦ 📝 ホスト側のキャッシュメモリの影響を受けないようにするため ▪ そのうち別の動画で詳細を説明するかも • /mnt以下にXFSがマウントされているとする
• 1GiBのファイルを作ってキャッシュメモリを捨てる ◦ こうしないと後の実験でディスク上のデータではなくメモリ上のデータを読み書きするだけになってし まうので性能測定の意味が無くなる 3 # dd if=/dev/random of=/mnt/test.data bs=1M count=1024 oflag=sync … # echo 3 >/proc/sys/vm/drop_caches
普通のコピーの性能測定 • 以下の処理にかかる時間を測定 1. /mnt/test.dataを同じファイルシステム上の別のファイルにコピー 2. コピーするだけだとキャッシュメモリに書くだけなので、その後 fsyncシステムコールを発行してデー タをディスクに同期 4
# time (cp ––reflink=never /mnt/test.data /mnt/deep.data; xfs_io -c fsync /mnt/deep.data) real 0m9.496s user 0m0.006s sys 0m1.819s # echo 3 >/proc/sys/vm/drop_caches
shallow copyの性能測定 • 以下の処理にかかる時間を測定 1. /mnt/test.dataを同じファイルシステム上の別のファイルに shallow copy ▪ cpコマンドに--reflinkオプションを付ける
2. コピーするだけだとキャッシュメモリに書くだけなので、その後 fsyncシステムコールを発行してデー タをディスクに同期 5 # time (cp --reflink /mnt/test.data /mnt/shallow.data; xfs_io -c fsync /mnt/shallow.data) real 0m0.048s user 0m0.005s sys 0m0.009s # cmp /mnt/test.data /mnt/shallow.data # cmp /mnt/deep.data /mnt/shallow.data
それぞれの違い 6 test.dataの メタデータ test.dataの データ deep.dataの メタデータ deep.dataの データ
コピーする shallowコピー test.dataの メタデータ test.dataの データ shallow.dataの メタデータ 普通のコピー データはコピーせずリ ンクを張るだけ
その他 • shallow copyによって共有しているデータに書き込むと、更新した部分を別の場所 に保存して、その部分だけリンクを張り替える • 書き込みするたびにデータが断片化して性能劣化する ◦ 📝 そうなったときにデフラグすることもできる
• XFSはメタデータの書き換えはCoWではないのでsnapshotは作成できないが、 ファイル書き換えはCoWも使えるのでファイルのshallow copyができる 7
ext4、XFS、Btrfsの比較 • 8 ファイルシステム subvolumeなどファイルより 大きな単位の snapshot(shallow copy) ファイルのshallow copy
ext4 できない できない XFS できない できる Btrfs できる できる
まとめ • shallow copyはファイルを参照する別のファイルを作成する方法 ◦ 高速だがデータはコピーされないので冗長性は無い • XFSとBtrfsはサポートするが、ext4はサポートしない • コピーが高速といういいところばかりではなくデータ冗長度は上がらない、データが
断片化しやすいといった問題もある 9